正则表达式——码值
??Unicode 字符多种多样,除去 ASCII 中的字母、数字、标点和中文字符,还包括其他多种语言和多种符号,有些符号甚至很难打出来(比如表示商标注册的??),这时候该如何表示呢?再说远一点,如果我们想用一个字符组匹配所有的中文字符,能不能像 ??使用正则表达式解决这类问题,必须依赖码值。前面讲过,每一个 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}。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |