例如從下面三個字符串中查找不包含my的hello world:
hello_your_world
hello_my_world
hello_his_world
要匹配不包含my的字符串,能夠用hello((?!my).)*world,使用sublime text測試以下:
解釋:
hello:包含hello
( :分組開始
(?!my) :使用否認式前瞻,表示從hello開始後面不能有my,注意這裏的前瞻指的是在.後面檢查,由於正則引擎是從文件頭向文件尾查找,文件尾部方向纔是前
.) :hello後面能夠有一個任意字符
* :匹配上面的任意字符0個或無限個。
world:匹配world
注意不能寫成
hello(.(?!my))*world,由於這樣會忽略hello後面接my的狀況: