python里使用正则表达式的groups()函数访问组匹配串

原创 2017年10月20日 16:37:23
前面通过括号()的方式来匹配正则表达式,会发现有多个成立的,如果把这些匹配的结果放到一个元组里,怎么样访问这些匹配的结果呢?在这里使用groups()函数来访问,如下面的例子:
#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re

text = 'This is some text -- with punctuation.'

print(text)
print()

patterns = [
    (r'^(\w+)', 'word at start of string'),
    (r'(\w+)\S*$', 'word at end, with optional punctuation'),
    (r'(\bt\w+)\W+(\w+)', 'word starting with t, another word'),
    (r'(\w+t)\b', 'word ending with t'),
]

for pattern, desc in patterns:
    regex = re.compile(pattern)
    match = regex.search(text)
    print("'{}' ({})\n".format(pattern, desc))
    print('  ', match.groups())
    print()

结果输出如下:
This is some text -- with punctuation.


'^(\w+)' (word at start of string)


   ('This',)


'(\w+)\S*$' (word at end, with optional punctuation)


   ('punctuation',)


'(\bt\w+)\W+(\w+)' (word starting with t, another word)


   ('text', 'with')


'(\w+t)\b' (word ending with t)


   ('text',)

深入浅出Numpy
http://edu.csdn.net/course/detail/6149 

Python游戏开发入门

http://edu.csdn.net/course/detail/5690

你也能动手修改C编译器

http://edu.csdn.net/course/detail/5582

纸牌游戏开发

http://edu.csdn.net/course/detail/5538 

五子棋游戏开发

http://edu.csdn.net/course/detail/5487
RPG游戏从入门到精通
http://edu.csdn.net/course/detail/5246
WiX安装工具的使用
http://edu.csdn.net/course/detail/5207
俄罗斯方块游戏开发
http://edu.csdn.net/course/detail/5110
boost库入门基础
http://edu.csdn.net/course/detail/5029
Arduino入门基础
http://edu.csdn.net/course/detail/4931
Unity5.x游戏基础入门
http://edu.csdn.net/course/detail/4810
TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
C++标准模板库从入门到精通 
http://edu.csdn.net/course/detail/3324
跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
跟老菜鸟学python
http://edu.csdn.net/course/detail/2592
在VC2015里学会使用tinyxml库
http://edu.csdn.net/course/detail/2590
在Windows下SVN的版本管理与实战 
http://edu.csdn.net/course/detail/2579
Visual Studio 2015开发C++程序的基本使用 
http://edu.csdn.net/course/detail/2570
在VC2015里使用protobuf协议
http://edu.csdn.net/course/detail/2582
在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672


版权声明:本文为博主原创文章,未经博主允许不得转载。

python 正则表达式 groups和group有什么区别

为什么 m = re.match("([abc])+", "abc") print m.groups() 返回的只有('c',) 而不是 abc 而 print m.group() 就能返回整个的字...
  • hzliyaya
  • hzliyaya
  • 2015年08月13日 19:39
  • 1911

Python正则表达式中的 compile,search,group,groups 函数的简单说明

以此为例:regex = re.compile('\((.*)\)') 里面嵌套的那对括号是用于识别group的,所以至多有group(1); compile是编译正则表达式,生成pattern对...
  • cnmilan
  • cnmilan
  • 2013年03月27日 10:05
  • 7860

python 正则表达式 groups和group有什么区别

为什么 m = re.match("([abc])+", "abc") print m.groups() 返回的只有('c',) 而不是 abc 而 print m.group() 就能返回整个的字...
  • hzliyaya
  • hzliyaya
  • 2015年08月13日 19:39
  • 1911

Python正则表达式中的 compile,search,group,groups 函数的简单说明

Python正则表达式中的 compile,search,group,groups 函数的简单说明 2013年12月04日 ⁄ 综合 ⁄ 共 306字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ...
  • pzqingchong
  • pzqingchong
  • 2016年06月29日 15:30
  • 1769

Python 使用正则表达式 - 1

正则表达式 python
  • hjh00
  • hjh00
  • 2015年08月19日 16:20
  • 1041

正则表达式match和group的区别 具有相同模式的字符串使用组的提取案例及原理

Match类 示例:查找出字符串中包含的url string text = "FirstUrl: http://www.sohu.com ,SecondUrl: http://www.baidu....
  • GoodShot
  • GoodShot
  • 2015年04月08日 07:42
  • 5340

Python正则表达式--无捕获组和命名组

精心设计的 REs 也许会用很多组,既可以捕获感兴趣的子串,又可以分组和结构化 RE 本身。在复杂的 REs 里,追踪组号变得困难。有两个功能可以对这个问题有所帮助。它们也都使用正则表达式扩展的通用语...
  • lwnylslwnyls
  • lwnylslwnyls
  • 2013年05月08日 17:01
  • 2448

Python-正则表达式多次匹配

要点要查找所有匹配项,用findall函数。
  • u013344915
  • u013344915
  • 2016年11月07日 22:50
  • 2409

Python中re(正则表达式)模块函数学习

今天学习了Python中有关正则表达式的知识。关于正则表达式的语法,不作过多解释,网上有许多学习的资料。这里主要介绍Python中常用的正则表达式处理函数。 re.match ,从字符串开头匹配,返回...
  • my2010Sam
  • my2010Sam
  • 2013年05月22日 15:14
  • 9261

正则表达式中问号的用法

1、需求背景 由于最近工作需要,要从网页链接中找到
  • maylorChao
  • maylorChao
  • 2014年05月28日 11:33
  • 5594
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python里使用正则表达式的groups()函数访问组匹配串
举报原因:
原因补充:

(最多只允许输入30个字)