And*_*imm 12 ruby regex code-analysis
我试图在开源项目中压制警告,并且
/[\.\,\;\:\(\)\[\]\{\}\<\>\"\'\`\~\/\|\?\!\&\@\#\s\x00-\x1f\x7f]+/
Run Code Online (Sandbox Code Playgroud)
给了我
(irb):1: warning: character class has duplicated range
Run Code Online (Sandbox Code Playgroud)
是否有任何工具可以自动指出正则表达式的哪些部分导致重叠?
我不知道任何工具,但我发现重叠:\s
包含\t
,\f
,\n
和\r
,使之与重叠\x00-\x1f
部分.
所以,除非有办法让Ruby本身告诉你它发现了一个"问题",你可以把这个正则表达式写成(沿途删除所有那些不必要的反斜杠):
/[.,;:()\[\]{}<>"'`~\/|?!&@# \x00-\x1f\x7f]+/
Run Code Online (Sandbox Code Playgroud)