python3 re模块

痞子三分冷 提交于 2019-12-24 12:04:19

 

search模块


import retext='牛牛桃21河马23'# a=re.search('(\w+?)(\d+)',text)                       #使用()把我们想要的结果保留下来,下面用group调用。search只查找到第一个符合条件的字符串或者其他类型的数据,之后即使有满足条件的数据也不再查找# print(a.group())                                      #结果牛牛桃21# print(a.group(1))                                     #结果牛牛桃# print(a.group(2))                                     #结果21a=re.search('(?P<name>\w+?)(?P<age>\d+)',text)          #这样对我们每一个想要的内容做了一个标识符,在group中调用是更加方便,结果相同print(a.group())print(a.group("name"))print(a.group("age"))


对于group调用的解释

返回匹配的一个或多个子组。如果有一个参数,结果是一个单一的字符串; 如果有多个参数,则结果是每个参数有一个项目的元组。没有参数,group1默认为零(整个匹配被返回)。如果groupN参数为零,则相应的返回值是整个匹配的字符串; 如果它在包含范围[1..99]中,则它是匹配相应括号组的字符串。如果组编号为负数或大于模式中定义的组数,IndexError则会引发异常。如果一个组包含在不匹配的模式的一部分中,则相应的结果是None如果一个组包含在多次匹配的模式的一部分中,则返回最后的匹配。

>>>
>>> m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")
>>> m.group(0)       # 和m.group一样,默认值为0
'Isaac Newton'
>>> m.group(1)       # 查看第一个括号内匹配的内容
'Isaac'
>>> m.group(2)       # 查看第二个括号内匹配的内容
'Newton'
>>> m.group(1, 2)    # 多个内容的匹配显示
('Isaac', 'Newton')

 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!