python 字串中包含或者不包含某些子串問題

python 複雜正則表示式應用

1、不包含某些子串

reg1 = ‘^((?!(物質|天空))。)*$’ # 不包含某個詞text = ‘九寨溝的水,因為富含礦物質原因,水裡基本沒有浮游生物,加上陽光折射和反射大多都是清澈見底’re。search(reg1, text)結果:不會匹配到,因為text中有“物質”

2、包含某些子串

reg1 = ‘(物質|九寨溝)’text = ‘九寨溝的水,因為富含礦物質原因,水裡基本沒有浮游生物,加上陽光折射和反射大多都是清澈見底’re。search(reg1, text)

3、多個條件並列 and

reg1 = ‘^((?!(天空|藍天))。)*$’reg3 = ‘。*九寨溝。*’reg4 = ‘(?=’+reg3+‘)(?=’+reg1+‘)’ # 包含九寨溝但是不包含天空或者藍天text = ‘九寨溝的水,因為富含礦物質原因,水裡基本沒有浮游生物,加上陽光折射和反射大多都是清澈見底’re。search(reg4, text)結果:沒有匹配上,因為同時滿足reg1和reg3才能匹配成功