复制下面代码可直接运行,再有推荐一个网站-嗨正则,在线测试正则表达式很好用,如果有其它好用的,各位大神请给我留言
import re
# 开头、结尾匹配
line = "boooooobbby123"
regex_str = "^b.*3$"
if re.match(regex_str, line):
print("yes")
# 贪婪匹配
regex_str2 = ".*(b.*b).*"
regex_str2 = ".*(b.+b).*"
# 前面字符出现次数 {2,} {2,5}
regex_str2 = ".*(b.{2}b).*"
# 非贪婪匹配
regex_str2 = ".*?(b.*b).*"
regex_str2 = ".*?(b.*?b).*"
if re.match(regex_str2, line):
print(re.match(regex_str2, line).group(1))
# 多条件匹配 返回第一个匹配的条件
regex_str3 = "((obbby|bbby)123)"
# 匹配括号中的其中一个, 中括号中可以写区间[0-9] [a-z] ; [^1] 不等于1 ; [.*] 中括号中的,不再具有特殊含义,只代表自己
# 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$
regex_str3 = "([abcy]123)"
if re.match(regex_str3, line):
print(re.match(regex_str3, line).group(1))
# \s \S \w代表[A-Za-z0-9_] \W \d
# 匹配中文 [\u4e00-\u9fa5]
# (?!_) 不能以_开头
# (?!.*?_$) 不能以_结尾
# 提取生日 出生于2001年 ".*?(\d+)年"