python 正则断言
-
前项肯定 ?<=
前面必须是“abc”才能匹配后面写的内容 import re re.search(r”(?<=abc)\d+”,”abc123deb”).group()
-
后项肯定 ?=
后面必须是“abc”才能匹配前面写的内容 import re re.search(r”(\d+(?=abc))”,”xbc123abc”).group()
-
组合匹配
前面必须是”xbc”后面必须是“abc”才能匹配之间写的内容 import re re.search(r”(?<=abc)(\d+(?=abc))”,”xbc123abc”).group()
-
前项否定 ?<!
前面不是”xbc”才能匹配后面写的内容 import re re.search(r”(?<!xbc)\d+”,”abc123abc”).group() #限制贪婪 re.search(r”(?<!xbc)\d+?”,”abc123abc”).group()
-
后项否定 ?!
后面不是”xbc”才能匹配后面写的内容 import re re.search(r”\d+(?!xbc)”,”123abc”).group() re.search(r”\d+(?!xbc)”,”123xbc”).group()
\b#表示边界
import re re.search(r”\babc\b”,”abc”)#有结果 re.search(r”\babc\b”,”xabcdd”)#无结果