转 正则,元字符判定和元字符排除混用时,字符串长度判断问题

syh0726 2020-04-11 2327 0 0

'/[^\W]\w{3,10}[^\W]/' 这个模式就判断不到" bags "

比如在php的preg match中,使用这样的模式判断

'/[^\W]\w{3,10}[^\W]/' 这个模式就判断不到" bags " 实测结论是这种判定和排除混用的情况,判定字符的边际字符,是要被算进排除字符里进行匹配的,这可能是准确匹配算法所必须要用的,因此以上模式只能判定到字符串里的 ag ,两边的” b“,"s "是判定不到的,这样判定的部分长度就变成了2,小于{3,10}的范围,匹配结果就不是返回bags,而是返回空数组。改成{2,10}问题就解决了。...

立即注册
更新于:2020-04-11 14:00:40
    您需要登录后才可以评论。 立即注册
    相关内容

    PHP正则表达式,看这一篇就够啦!

    PHP正则表达式提示Warning: preg_match(): Delimiter must not be alpha...

    PHP正则匹配中文汉字和中文字符(亲测有效)

    关于四字节字符入库时错误的解决方案(Incorrect string value: '\xF0\x9F...

    使用Laravel 5.4问题总结 Lost connection to MySQL server at 'reading ...

    使用V2Ray的mKCP协议加速游戏