加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式——码值

发布时间:2020-12-14 06:12:07 所属栏目:百科 来源:网络整理
导读:??Unicode 字符多种多样,除去 ASCII 中的字母、数字、标点和中文字符,还包括其他多种语言和多种符号,有些符号甚至很难打出来(比如表示商标注册的??),这时候该如何表示呢?再说远一点,如果我们想用一个字符组匹配所有的中文字符,能不能像 [a-z] 那样

??Unicode 字符多种多样,除去 ASCII 中的字母、数字、标点和中文字符,还包括其他多种语言和多种符号,有些符号甚至很难打出来(比如表示商标注册的??),这时候该如何表示呢?再说远一点,如果我们想用一个字符组匹配所有的中文字符,能不能像[a-z]那样呢?

??使用正则表达式解决这类问题,必须依赖码值。前面讲过,每一个 Unicode 字符都有一个 Unicode 码值,所以在正则表达式的 Unicode 字符往往采用 Unicode 码值来指定。

??一般来说,指定码值的形式有两种:uxxxx和u{xxxx}(其中的 xxxx 为编码的值,u之后必须有4位十六进制数字)。.NET、Java、JavaScript 和 Python 使用前一种形式,而 PHP 和 Ruby 使用后一种形式(Ruby 1.9 以上版本才支持这种表示法,PHP 使用的字母是 x 而不是 u:x{xxxx})

??比如“发表”的“发”字对应的 Unicode 编码是 53 d1,所以可以在.NET、Java、JavaScript 的正则表达式中用u53d1 表示它;Python 稍有不同,必须使用 u"u53d1"(之前的 u 表示这是一个 Unicode 字符串);在 Ruby 中必须写作u{53d1};在 PHP 中则写作x{53d1}。

编码 语言 表示法 说明
53 d1 .NET u53d1
Java u53d1
JavaScript u53d1
Python u53d1 必须使用 Unicode 字符串,在 Python 2 中,
要在字符串之前加 u 指定 Unicode 字符串
PHP x{53d1} 必须指定 Unicode 模式
Ruby u{53d1} 限 Ruby 1.9 以上版本,且必须显示指定 Unicode 模式

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读