python里使用正则表达式的组嵌套实例详解


Posted in Python onOctober 24, 2017

python里使用正则表达式的组嵌套实例详解

由于组本身是一个完整的正则表达式,所以可以将组嵌套在其他组中,以构建更复杂的表达式。下面的例子,就是进行组嵌套的例子:

#python 3.6 
#蔡军生  
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
import re 
 
 
def test_patterns(text, patterns): 
  """Given source text and a list of patterns, look for 
  matches for each pattern within the text and print 
  them to stdout. 
  """ 
  # Look for each pattern in the text and print the results 
  for pattern, desc in patterns: 
    print('{!r} ({})\n'.format(pattern, desc)) 
    print(' {!r}'.format(text)) 
    for match in re.finditer(pattern, text): 
      s = match.start() 
      e = match.end() 
      prefix = ' ' * (s) 
      print( 
        ' {}{!r}{} '.format(prefix, 
                   text[s:e], 
                   ' ' * (len(text) - e)), 
        end=' ', 
      ) 
      print(match.groups()) 
      if match.groupdict(): 
        print('{}{}'.format( 
          ' ' * (len(text) - s), 
          match.groupdict()), 
        ) 
    print() 
  return

例子:

#python 3.6 
#蔡军生  
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from re_test_patterns_groups import test_patterns 
 
test_patterns( 
  'abbaabbba', 
  [(r'a((a*)(b*))', 'a followed by 0-n a and 0-n b')], 
)

 

结果输出如下:

'a((a*)(b*))' (a followed by 0-n a and 0-n b)


 'abbaabbba'
 'abb'    ('bb', '', 'bb')
   'aabbb'  ('abbb', 'a', 'bbb')
     'a' ('', '', '')

 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
python使用pandas实现数据分割实例代码
Jan 25 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
python的中异常处理机制
Aug 30 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
Python中类似于jquery的pyquery库用法分析
Dec 02 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
PyTorch实现重写/改写Dataset并载入Dataloader
Jul 14 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
教你使用TensorFlow2识别验证码
Jun 11 Python
Scrapy的简单使用教程
Oct 24 #Python
详解python里使用正则表达式的分组命名方式
Oct 24 #Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 #Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 #Python
浅谈python中copy和deepcopy中的区别
Oct 23 #Python
python的构建工具setup.py的方法使用示例
Oct 23 #Python
python使用pyqt写带界面工具的示例代码
Oct 23 #Python
You might like
SONY ICF-SW7600的电路分析
2021/03/02 无线电
php的计数器程序
2006/10/09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php下载文件的代码示例
2012/06/29 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
2011/06/20 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
webpack多页面开发实践
2017/12/18 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
python统计一个文本中重复行数的方法
2014/11/19 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
详解Python中的四种队列
2018/05/21 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
成人继续教育实施方案
2014/03/01 职场文书
文案策划求职信
2014/04/14 职场文书
人力资源求职信
2014/05/25 职场文书
公共场所禁烟标语
2014/06/25 职场文书
公司开业主持词
2015/07/02 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸