Python正则表达式_多字符匹配

2019-12-26  本文已影响0人  Lutous

常用匹配多字符表达式

字符 功能
* 匹配前一个字符出现0次或者无限次,即可有可无
+ 匹配前一个字符出现1次或者无限次,即至少出现1次
? 匹配前一个字符出现1次或者0次,即最多出现1次
{m} 匹配前一个字符出现m次
{m,n} 匹配前一个字符出现m~n次
# =======以下全部有值=======
re.match(r".*", " 123")
re.match(r".*", """
1
2""") # 由于.不能匹配换行符,所以该正则表达式结果为 ''不为None
re.match(r".*", '')
re.match(r".*", "123").group()
re.match(r".*", "A123")
re.match(r".*", "_123")
re.match(r".*", "中123")
re.match(r".+", " 123")
re.match(r".+", """
1
2""") # 结果为None
re.match(r".+", '') # 结果为None
re.match(r".+", "123")
re.match(r".+", "A123")
re.match(r".+", "_123")
re.match(r".+", "中123")
#  ?的用法 
re.match(r"021-?\d{8}", "02112345678")
re.match(r"0\d{2,3}-?\d{7,8}", "010-12345678")
re.match(r"0\d{2,3}-?\d{7,8}", "010--12345678")# None

#  {m}的用法
re.match(r"021-?\d{8}", "021-12345678")
re.match(r"021-?\d{8}", "021-1234567")# None
re.match(r"021-?\d{8}", "021-123456789")
re.match(r"021-?\d{8}", "021-12345678A")
re.match(r"021-?\d{8}", "021-1234567A8")# None

#  {m,n}的用法
re.match(r"0\d{2,3}-?\d{7,8}", "021-12345678")
re.match(r"0\d{2,3}-?\d{7,8}", "0211-12345678")
re.match(r"0\d{2,3}-?\d{7,8}", "02-12345678") # None
re.match(r"0\d{2,3}-?\d{7,8}", "02A-12345678")# None
re.match(r"0\d{2,3}-?\d{7,8}", "02112-12345678")# None
上一篇 下一篇

猜你喜欢

热点阅读