警告
本文最后更新于 2021-09-30,文中内容可能已过时。
1.前言
对匹配内容的上下文加以限定且限定的规则不参与匹配结果
2.内容
假如我们有front_key 目标内容rear_key顺序排列组成字符串,根据目标内容前后位置关系,可分为两组:
置于想要匹配的内容之前,断言目标内容前:一定是某个内容(?<=内容)、一定不是某个内容(?<!内容)。
1
2
|
#re.sub(匹配模式,替换内容,代匹配字符串)
#以下例子把匹配到的内容替换为'--'
|
1
2
3
4
5
6
|
import re
s="www.kikyo.ink kikyo.ink"
#断言匹配内容前一定是'www'
print(re.sub(r"(?<=www.)kikyo.ink","--",s))
#输出:www.-- kikyo.ink
|
1
2
3
4
5
6
|
import re
s="www.kikyo.ink kikyo.ink"
#断言匹配内容前一定不是'www'
print(re.sub(r"(?<!www.)kikyo.ink","--",s))
#输出:www.kikyo.ink --
|
1
2
3
4
5
6
|
import re
s = "kikyo.com kikyo.ink"
#断言匹配内容后一定是'ink'
print(re.sub(r"kikyo.(?=ink)", "--", s))
#输出结果:kikyo.com --ink
|
1
2
3
4
5
6
|
import re
s = "kikyo.com kikyo.ink"
#断言匹配内容后一定不是'ink'
print(re.sub(r"kikyo.(?!ink)", "--", s))
#输出结果:--com kikyo.ink
|
参考百度百科-零宽断言