加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 正面和负面的前瞻和量词

发布时间:2020-12-14 05:37:30 所属栏目:百科 来源:网络整理
导读:有人可以向我解释为什么模式(负向前瞻) /aa.+(?!cc)/g 匹配所有4行 aabbccaabbaabbccaabb 虽然我预计只会匹配以下两行: aabbcc aabb aabbcc aabb 模式(正向前瞻): /aa.+(?=cc)/g 仅匹配2行: aabbcc aabb aabbcc aabb 我会假设的? 我正在使用PCRE风味的Re
有人可以向我解释为什么模式(负向前瞻)

/aa.+(?!cc)/g

匹配所有4行

aabbcc
aabb
aabbcc
aabb

虽然我预计只会匹配以下两行:

aabbcc
aabb
aabbcc
aabb

模式(正向前瞻):

/aa.+(?=cc)/g

仅匹配2行:

aabbcc
aabb
aabbcc
aabb

我会假设的?

我正在使用PCRE风味的RegEx引擎.

解决方法

因为.在这种模式中aa. (?!cc)匹配所有字符到最后.由于在最后一个之后没有字符串cc,因此该正则表达式匹配所有上述字符串.

aa(?!.*cc).+

像上面那样修改你的正则表达式以匹配第2行和第4行. (?!.* cc)否定前瞻声明在下一个字符串中不存在将使用匹配的字符串cc.图案.

DEMO

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读