正则表达式匹配辅音

use*_*318 17 regex validation

如何检测regex expression相同的辅音重复三次或更多?

我的想法是匹配像tttoollikkke或等词likkkkke

Boh*_*ian 23

试试这个:

([b-df-hj-np-tv-z])\1{2,}
Run Code Online (Sandbox Code Playgroud)

说明:

  • [b-df-hj-np-tv-z] 都是辅音
  • \1是第一组的后向引用(即相同的字符)
  • {2,} "上述术语中的2个或更多个",表示总共3个或更多个

经测试,这是有效的.

  • @phil294 更短,但甚至不接近相同:`[^aeiou]` 匹配*每个*字符而不是元音(即标点符号,特殊字符,完整的频谱)。我的正则表达式仅匹配非元音的*字母*。 (4认同)
  • 它应该是:`([b-df-hj-np-tv-z])\ 1 {2,}`实际上. (2认同)
  • @anubhava:正确,在这一点上,它与我的回答几乎相同:) (2认同)

Boh*_*ian 8

这是关于我能想到的最短的正则表达式:

(?i)([b-z&&[^eiou]])\1\1+
Run Code Online (Sandbox Code Playgroud)

这使用正则表达式字符类减法排除元音.
我没有提到"a",因为我从"b"开始了范围.
使用(?i)使正则表达式不敏感.

观看现场演示.


And*_*ite 6

某些正则表达式库中可能有快捷方式,但您可以随时...

b{3,}|c{3,}|d{3,}...
Run Code Online (Sandbox Code Playgroud)

例如,一些库让你使用后引用匹配,这可能是一个清洁...

(bcd...)\1{2,}
Run Code Online (Sandbox Code Playgroud)