我经常看到[0-9]
在 Stack Overflow 上的 .NET 正则表达式答案中使用,而不是\d
. 我问过为什么,答案往往是“<code>\d 匹配的不仅仅是[0-9]
”。那么它还匹配什么呢?这张表说它匹配十进制数字。那么\p{Nd}
呢?
或者没有区别,这只是因为其他一些正则表达式引擎的好习惯?
我认为答案也在链接参考中:
\d 匹配任何十进制数字。它相当于 \p{Nd} 正则表达式模式,它包括标准的十进制数字 0-9以及许多其他字符集的十进制数字。
因此\d
可以匹配阿拉伯字符集中的十进制数字等内容,而[0-9]
.