我经常在Stack Overflow而不是[0-9]
上看到.NET正则表达式答案中使用的\d
。我问过为什么,答案往往是“\d
匹配的不只是[0-9]
”。那它还匹配多少? This table表示它与十进制数字匹配。那么\p{Nd}
呢?
或者没有区别,这是一个很好的做法,因为其他一些正则表达式引擎?
答案 0 :(得分:8)
我认为答案也在linked reference:
\ d匹配任何十进制数字。它相当于\ p {Nd}常规 表达式模式,包括标准的十进制数字0-9 as 以及许多其他字符集的十进制数字。
所以\d
可以匹配阿拉伯字符集中的十进制数字,这与[0-9]
不匹配。