在过去几周阅读了一些问题/答案后,我看到\d
perl正则表达式的使用被评论为不正确.正如在perl的更高版本中\d
不同[0-9]
,因为\d
它将表示具有digit属性的任何Unicode字符,并且[0-9]
表示字符'0','1','2',...,'9'.
我理解在某些情况下[0-9]
使用是正确的,在其他\d
情况下也是如此.我想知道哪些人觉得默认使用是正确的?
我个人认为这种\d
符号非常简洁和富有表现力,而相比之下[0-9]
有点麻烦.但是我几乎没有做多语言代码的经验,或者说代码不适合ASCII字符范围的语言,因此可能是天真的.
我注意到
$find /System/Library/Perl/5.8.8/ -name \*pm | xargs grep '\\d' | wc -l
298
$find /System/Library/Perl/5.8.8/ -name \*pm | xargs grep '\[0-9\]' | wc -l
26
Run Code Online (Sandbox Code Playgroud)