\ d和\ p {Digit}有什么区别?

时间:2014-03-28 12:04:42

标签: ruby regex

虽然我在正则表达式中使用\p{Alpha}\p{Space}已经有一段时间了,但我刚遇到\p{Digit},但我无法找到有关将上升或下降与我通常使用的正常\d进行比较。这些之间的主要区别是什么?

1 个答案:

答案 0 :(得分:9)

\d仅匹配ASCII数字,即它等同于类[0-9]\p{Digit}匹配与\d相同的字符以及表示数字的任何其他Unicode字符。例如,匹配阿拉伯语零(代码点U + 0660):

"\u0660"
# => "٠"

"\u0660" =~ /\d/
# => nil

"\u0660" =~ /\p{Digit}/
# => 0