El uso del módulo re de expresión regular de Python, la diferencia entre coincidencia y búsqueda, grupo de coincidencia

import re

#match表示只能从开头匹配,search表示可在任意位置匹配
re.search(r'a\d+c','a151515c') #'\d+'表示a和c之间可匹配多个数字<re.Match object; span=(0, 8), match='a151515c'>
re.match(r'[abc]p','ap') #<re.Match object; span=(0, 2), match='ap'>,ap、bp、cp都可匹配到,该表达式表示[abc]中的内容匹配到其中之一即可,或的关系,[a-z]表示a到z
re.findall(r'[a-z][0-9]','d5g8@fs9') #将所有符合条件的都匹配到['d5', 'g8', 's9'],match和search只匹配第一个
re.findall(r'[a-zA-Z0-9]','d5g8@fs9') #匹配任何一个大小写字母或数字['d', '5', 'g', '8', 'f', 's', '9']
re.findall(r'[a-zA-Z0-9]+','d5g8@fs9') #匹配一个或多个['d5g8', 'fs9']
re.search(r'[^a-zA-Z0-9]','d5g8@fs9') #在[]里加了‘^’,表示取反,该表达式匹配结果<re.Match object; span=(4, 5), match='@'>
re.search(r'^abc','abc548fd') #‘^’没有在[]中时,表示必须在开头匹配<re.Match object; span=(0, 3), match='abc'>
re.search(r'abc$','abc548fd')  #表示必须在结尾匹配

re.search(r'^abc$','abc548fd') #表示精确匹配,匹配的字符串必须为abc时,才能匹配到
re.search(r'a.b','a8b') #a和b之间有任意一个字符都可以匹配到,除'\n'之外
re.search(r'a.b','a\nb',re.DOTALL) #可匹配包括'\n'之内的所有字符
re.search(r'a.+b','a85b5484b54848488b') #按最多的情况来匹配'a85b5484b54848488b'
re.search(r'a.+?b','a85b5484b54848488b') #?抑制贪婪,按最短来匹配‘a85b’

re.search(r'(abc)(\d+)(ghh)','abc85647ghh').group(2) #匹配分组,group(0)可获得abc85647ghh,group(1)可获得abc,group(2)可获得85647,group(3)可获得ghh

re.findall(r'abc\d+','abc1,abc2,abc3') #结果['abc1', 'abc2', 'abc3']
re.findall(r'abc(\d+)','abc1,abc2,abc3') #结果['1', '2', '3']
re.findall(r'(abc)(\d+)','abc1,abc2,abc3') #结果[('abc', '1'), ('abc', '2'), ('abc', '3')]
re.findall(r'((abc)(\d+))','abc1,abc2,abc3') #结果[('abc1', 'abc', '1'), ('abc2', 'abc', '2'), ('abc3', 'abc', '3')]

re.findall(r'\bcan\b','can i canlike youcan can boy lcanook can') #边界匹配,只能匹配到单词can,单词中喊can的不能匹配到
re.findall(r'\b\w+\b','I like you!') #将句子中的单词分开存在列表中['I', 'like', 'you'],可用于统计单词的个数

re.search(r'abc','ABC',re.I) #忽略大小写匹配
re.search(r'abc|def','abc') #或者的关系,匹配abc或者def
re.search(r'(abc|def)537','abc537') #可匹配abc537或def537

Supongo que te gusta

Origin blog.csdn.net/weixin_44123630/article/details/111603043
Recomendado
Clasificación