正则表达式采用贪婪匹配模式
以下实例为了匹配字符串booooooooob
import re
line = "booooooooooobby123"
regex_str = ".*?(b.*?b).*"
'''
没有第一个问号会匹配到最后符合的即bb,没有第二个问号他会匹配到最后一个b即boooooooooobb
'''
match_obj = re.match(regex_str, line)
if match_obj:
print(match_obj.group(1))
括号用于提取字符串:
import re
line = "bobby123"
regex_str = "((boby|bobby)123)"
match_obj = re.match(regex_str, line)
if match_obj:
print(match_obj.group(2)) //打印bobby
print(match_obj.group(1)) //打印bobby123
中括号中的^表示“非”
\s表示匹配一个空格,\S表示匹配一个非空格字符,若想匹配多个可以\S+
\d表示匹配数字
[]中[-年]这种模式匹配不到‘-’字符,需要把汉字放在前面
正则表达式提取汉字:[\u4E00-\u9FA5]+ 表示匹配任意多个汉字
网友评论