import re
"""
前向断言-判断是否=或!一个pattern向前匹配:(?<=pattern) (?<!pattern)
后向断言-判断是否=或!一个pattern向后匹配: (?=pattern) (?!pattern)
=则表示肯定断言,即-包含什么
!则表示否定断言,即表示-不包含什么
"""
# 匹配句子中任意文字(不要用.)
# 剔除后边带有他的所有字符串
one = '爱就是爱,我爱你,你爱我他,这就是爱,他爱他他。'
for i in re.finditer(r'\w+(?<!他)', one):
print(i)
two = '{student} {one} {agent}'
# 判断单词前边没有a或s后边没有t或e则取中间的字符
for i in re.findall(r'(?!a|s)[a-z]+(?<!t|e)', two):
print(i)
# 判断单词前边不能有st后边不能有nt并取中间的字符
for i in re.findall(r'(?![st])[a-z]+(?<![nt])', two):
print(i)
最讨厌的正则表达式---断言
于 2021-01-27 14:13:37 首次发布