匹配中间不包含某些字符串的字符串

例如从下面三个字符串中查找不包含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的状况:
 


相关文章
相关标签/搜索