如何解决正则表达式匹配辅音
| 如果相同的辅音重复3次或更多次,如何用ѭ0进行检测? 我的想法是匹配tttool
或likkke
或likkkkke
之类的单词
解决方法
某些正则表达式库中可能有快捷方式,但您始终可以...
b{3,}|c{3,}|d{3,}...
例如,某些库使您可以使用后向引用进行匹配,这可能有点清洁...
(bcd...)\\1{2,}
, 尝试这个:
([b-df-hj-np-tv-z])\\1{2,}
说明:
[b-df-hj-np-tv-z]
都是辅音
\\1
是第一个组的后引用(即相同字符)
“ 9”的意思是“上一项的2个或更多”,总计3个或更多
经过测试,这有效。
, 这是我想到的最短的正则表达式:
(?i)([b-z&&[^eiou]])\\1\\1+
这使用正则表达式字符类减法来排除元音。
我不必提到\“ a \”,因为我是从\“ b \”开始的。
使用ѭ11会使正则表达式不区分大小写。
观看现场演示。
, 来自更高答案[b-df-hj-np-tv-z])\\1{2,}
的正则表达式有一个错误(\“ y \”表示模糊)
应该是[b-df-hj-np-tv-xz])\\1{2,}
, 您可以将捕获组与反向引用一起使用。这将捕获重复的符号:
/(
([\\w]) ## second group is just one symbol
\\2 ## match symbol found in second groups
\\2+ ## match same symbol one or more times
)/x ## x is just to allow inner comments
但是,并非所有的正则表达式引擎都支持反向引用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。