美文网首页
正则表达式 \d 0-9 字符集到底差异在哪里

正则表达式 \d 0-9 字符集到底差异在哪里

作者: Yellowtail | 来源:发表于2021-04-14 10:35 被阅读0次

背景

我们在写正则表达式的时候,有过一些经验的开发同学都被建议过,想要匹配数字 应该用 0-9, 而不是 \d
因为这两个匹配到字符集不一样,那么到底差别在哪里?能不能举个具体的例子?

\d

\d 的 含义是 unicode decimal digit 翻译过来就是 10进制数字
但是 “数字”一定就是大家所理解的 “0-9”嘛?

我搜了一下资料,发现了一个有趣的网站 unicode 数字列表

里面列出来了“各个语言”的“数字”

比如 image.png

结论

所以 0-9 是 『阿拉伯数字』
\d 是所有语言的数字,如 阿拉伯数字 藏文数字 等等

unicode 和 UTF8

不知道大家有没有发现,我看的是 unicode 字符集,但是我们平时都是 UTF-8编码,是一个东西吗?
是的,unicode是内容, utf-8是一种编码方式
类似的概念就是: RPC的时候,body是内容,底层的json或者 protobuf 就是编码方式

参考

unicode 数字列表
藏文unicode编码

相关文章

  • 正则表达式 \d 0-9 字符集到底差异在哪里

    背景 我们在写正则表达式的时候,有过一些经验的开发同学都被建议过,想要匹配数字 应该用 0-9, 而不是 \d因为...

  • 常用正则表达式

    常用正则表达式 “^\d+$” //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$” //正...

  • 常用正则表达式

    常用正则表达式"^/d+$"//非负整数(正整数 + 0)"^[0-9][1-9][0-9]$"//正整数"^((...

  • 正则学习

    创建方式 1.对象显示创建 2.字面量 正则表达式特殊字符 \d [0-9] 匹配数字\D [^0-9] 匹配非数...

  • 解18位身份证正则表达式

    自己初学正则表达式,写了一个18位正则表达式如下: ^[1-9]\d{5}(18|19|2([0-9]))\d{2...

  • 正则的一些故事

    正数的正则表达式(包括0):^[+]{0,1}(\d+) 正数的正则表达式(不包括0):^(?!(0[0-9]{0...

  • 正则表达式入门

    正则表达式 note\d:匹配数字[0-9]:匹配数字(字符组),在[]中对数字进行限定\D:匹配任意一个非数字字...

  • 2018-07-30 正则验证

    验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,...

  • JS正则表达式验证数字

    验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,...

  • js正则表达式

    验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,...

网友评论

      本文标题:正则表达式 \d 0-9 字符集到底差异在哪里

      本文链接:https://www.haomeiwen.com/subject/fqrklltx.html