[英]Hebrew Unicode range not working in a JavaScript regular expression?
我正在尝试使用正则表达式检测希伯来语字符。 根据我的阅读,这是Unicode范围0x0590-0x05ff
中的任何字符。
但是,以下操作无效:
// Character code \u05e6
var c = String.fromCharCode(parseInt('05e6', 16));
/[\u0590–\u05ff]/.test(c); // false
但是可以做到以下几点:
// Character code \u05e6
var c = String.fromCharCode(parseInt('05e6', 16));
/[\u0590–\u05e8\u05e9-\u05ff]/.test(c); // true
为什么? 为什么我必须将范围分割为0x0590-0x05e8
加0x05e9-0x05ff
?
我在Chrome和Firefox中的JavaScript中对此进行了测试,它们的行为相同。
连字符实际上是破折号(U + 2013)。 真正的连字符可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.