不包括子模式的正则表达式
Regular expression excluding subpatterns
我有一些代码可以与一个非常简单的字符串模式匹配:CCD_ 1。
我正在使用以下正则表达式:CCD_ 2。
现在,我需要排除匹配任何以常量标记"AY
"开头的字符串,以及任何具有11个重复字符的字符串(例如"11111111111
"或"00000000000
")。
如何使用正则表达式排除子模式?
试试这个
'b(?!AY)(?!('w)'1{10})'w{2}'d{9}'b
在Regexr 上查看
基本上,我只在正则表达式中添加了'b
单词边界,以避免部分匹配。
您的限制是通过使用否定的前瞻性断言来实现的。
(?!AY)
如果模式以"AY"开头,则断言失败
(?!('w)'1{10})
如果第一个单词字符重复10次以上,则断言失败。
正则表达式的环视断言.info
您可以使用零宽度先行匹配器来排除这两种情况。
不匹配AY很容易:
(?!AY)
不匹配11个相同的字符更加困难。您要么需要使用反向引用(这意味着regexp不再是严格的正则表达式),要么可以显式匹配每个数字。
(?!0{11}|1{11}|2{11}|…|9{11}) // 11 zeros, or 11 ones, or 11 twos, …
(?!(.)'1{10}) // A character, followed by itself 10 more times.
因此,这将生成完整的正则表达式:
(?!AY)(?!(.)'1{10})'w{2}'d{9}
相关文章:
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 正则表达式匹配模式或匹配其他所有内容 - 匹配优先级问题
- youtube视频的正则表达式匹配模式可以以非贪婪的方式完成吗
- 正则表达式根据模式替换所有匹配项
- LxWxH 的正则表达式测试模式
- JavaScript 正则表达式查找与开始和结束模式匹配的所有子字符串
- 正则表达式 - 子表达式 - IMDB
- Javascript正则表达式以模式结尾
- 正则表达式查找模式,返回子模式
- 不包括子模式的正则表达式
- JavaScript正则表达式跳过子模式
- AngularJS在评估正则表达式ng模式时出现问题
- 为什么正则表达式“贪婪”模式不起作用
- 使用正则表达式查找模式并获得结果
- 正则表达式查找模式并只替换其中的一部分
- 子模式的正则表达式
- JavaScript和正则表达式:获取带括号的子模式的数量
- Javascript正则表达式获取子字符串,排除模式
- Javascript正则表达式匹配模式,但不匹配正则表达式文本(r.js优化器和uglify问题)
- 如何使用正则表达式获得模式后的第一个字符