"""
?:
?=
?!
?<=
?<!
使用
"""
import re
# ?:, 匹配xx前面的,包含xx
re.search(r"123(?:456)", "123456")
# <_sre.SRE_Match object; span=(0, 6), match='123456'>
re.search(r"123(?:456)", "124456")
# None
# ?=, 匹配xx前面的,不包含xx
re.search(r"123(?=456)", "123456")
# <_sre.SRE_Match object; span=(0, 6), match='123'>
re.search(r"123(?=456)", "124456")
# None
# ?!, 匹配非xx前面的
re.search(r"123(?!456)", "123456")
# None
re.search(r"123(?!456)", "123455")
# <_sre.SRE_Match object; span=(0, 3), match='123'>
# ?<:, 匹配xx后面的,包含xx
re.search(r"(?<=123)456", "123456")
# <_sre.SRE_Match object; span=(3, 6), match='456'>
re.search(r"(?<=123)456", "123457")
# None
re.search(r"(?<=123).*", "123457")
# <_sre.SRE_Match object; span=(3, 6), match='457'>
# ?!, 匹配非xx后面的
re.search(r"(?<!123)456", "123456")
# None
re.search(r"(?<!123)456", "12456")
# <_sre.SRE_Match object; span=(2, 5), match='456'>
正则表达式:?: ?= ?! ?<= ?<!
最新推荐文章于 2024-04-19 16:47:26 发布
本文介绍了Python的re模块中与预查相关的正则表达式符号,如(?:)表示非捕获组,(?=)匹配前面的内容但不包含,(?<=)匹配后面的内容,(?<!)匹配非指定内容的前面部分。通过示例展示了它们在字符串匹配中的应用。
摘要由CSDN通过智能技术生成