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

例如从下面三个字符串中查找不包含my的hello world:
hello_your_world
hello_my_world
hello_his_world
要匹配不包含my的字符串,可以用hello((?!my).)*world,使用sublime text测试如下:
05203421-187cee229e234574ac2bc7d1ca8d2e7c.png
 
 
解释:
hello:包含hello
(    :分组开始
(?!my)    :使用否定式前瞻,表示从hello开始后面不能有my,注意这里的前瞻指的是在.后面检查,因为正则引擎是从文件头向文件尾查找,文件尾部方向才是前
.)    :hello后面可以有一个任意字符
*    :匹配上面的任意字符0个或无限个。
world:匹配world
 
 
 
注意不能写成 hello(.(?!my))*world,因为这样会忽略hello后面接my的情况:
 
05203424-c3da2c5577344403898e724ab2d4c215.png




转载于:https://www.cnblogs.com/tshell/p/3238165.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值