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编写一个模仿CPU工作的程序
Apr 16 Python
Python文件去除注释的方法
May 25 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
Python实现针对中文排序的方法
May 09 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
Python作用域与名字空间原理详解
Mar 21 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
通俗讲解python 装饰器
Sep 07 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
python openCV自制绘画板
Oct 27 Python
如何利用python 读取配置文件
Jan 06 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
晶体管单管来复再生式收音机
2021/03/02 无线电
php UBB 解析实现代码
2011/11/27 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
php如何获取文件的扩展名
2015/10/28 PHP
prototype 的说明 js类
2006/09/07 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python数据类型详解(一)字符串
2016/05/08 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
python实现汽车管理系统
2018/11/30 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
地道战观后感400字
2015/06/04 职场文书
2016公司年会主持词
2015/07/01 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
用JS写一个发布订阅模式
2021/11/07 Javascript