常用匹配多字符表达式
字符 | 功能 |
---|---|
* | 匹配前一个字符出现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
网友评论