这是最短的javascript正则表达式找到所有大写辅音?

Kei*_*out 5 javascript regex

/[B-DF-HJ-NP-TV-Z]/g
Run Code Online (Sandbox Code Playgroud)

这是总共20个字符.http://regex101.com/quiz/# quiz#3说最短的解决方案是16个字符,但我不确定这是否适用于正则表达式的JavaScript风格.

Cra*_*ent 6

16个char正则表达式

(?![AEIOU])[A-Z]

  • 您可以将其缩短 1 个字符,从 `B` 开始计数:`(?![EIOU])[BZ]` (4认同)

小智 6

这只是 ASCII,所以这将是最短的正则表达式,使用否定字符类,请参阅否定字符类

[^ -AEIOU[-ÿ], 13 个字符

/[^ -AEIOU[-ÿ]/g, 带标志, 16 个字符


Jer*_*rry 4

您可以通过使用类来缩短它\P{Lu}

[^\P{Lu}AEIOU]
Run Code Online (Sandbox Code Playgroud)

[我不会将其限制为 Javascript,因为 regex101 主要是 PCRE 风格]

上面有14个字符。由于拼图还添加了单词边界和标志中的字符,因此为 又添加了 3 个字符//g,因此总共 17 个字符。

在 .NET 中,你可以做得更短:

[B-Z-[EIOU]]
Run Code Online (Sandbox Code Playgroud)

(12 个字符长)

对于 JavaScript:

(?![EIOU])[B-Z]
Run Code Online (Sandbox Code Playgroud)

15 个字符,不包括分隔符和标志。