[正则表达式]匹配Unicode
⼀、PHP[PCRE]之Unicode
PCRE⽀持的16进制字符编码转义符有
正则匹配指定汉字\x00-\xFF,或\x{num},num为任意位16进制数
但并不⽀持\u0000-\uFFFF这的形式
PCRE运⽤/u模式去处理UTF-8编码字符,这是PCRE特有的,⽰例代码
$str = '中asfdsf个业上';
$pattern = '/[\x{4E10}-\x{4E2F}\x{4E0A}]/u';
$matchs = array();
$result = preg_match_all($pattern, $str, $matchs);
var_dump($result, $matchs);
⽰例中“中个业上”将会被匹配,因为字符组中\x{4E10}-\x{4E2F}匹配了“中个业”所在的Unicode区间,\x{4E0A}对应的是“上”;
⼆、JavaScript
JavaScript⽀持的16进制字符编码转义符有
\x00-\xFF, \u0000-\uFFFF
⽰例代码
var str = "中asfdsf个业上";
var regExp = /[\u4E10-\u4E2F\u4E0A]/g;
console.log(str.match(regExp));
⽰例中“中个业上”将会被匹配,原因同上;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论