【发布时间】:2011-12-18 00:35:03
【问题描述】:
试图弄清楚如何判断一个字符串是否包含希伯来语中的任何个字符,但没有运气。
如何做到这一点?
【问题讨论】:
-
我认为这个链接会帮助你stackoverflow.com/questions/1694350/…
试图弄清楚如何判断一个字符串是否包含希伯来语中的任何个字符,但没有运气。
如何做到这一点?
【问题讨论】:
如果源字符串是 UTF-8 编码的,那么更简单的方法是在正则表达式中使用 \p{Hebrew}。
调用也应该有/u修饰符。
= preg_match("/\p{Hebrew}/u", $string)
【讨论】:
` in \\p`吗?
"\p" 不是 C 字符串转义,所以会以\p 正确到达 PCRE 库
"\r\n\t"。或者以其他方式使用单引号,所有这些都失去了特殊含义。
/\p{Hebrew}/u 括起来。我没有说正则表达式不正确,我只是猜测缺少一个 ``,不是吗?
map of the iso8859-8 character set。范围 E0 - FA 似乎是为希伯来语保留的。
[\xE0-\xFA]
对于 UTF-8,range reserved for Hebrew 似乎是 0590 到 05FF。
[\u0590-\u05FF]
以下是 PHP 中正则表达式匹配的示例:
echo preg_match("/[\u0590-\u05FF]/", $string);
【讨论】:
最简单的方法是:
preg_match('/[א-ת]/',$string)
例如,
$strings = array( "abbb","1234","aabbאאבב","אבבבב");
foreach($strings as $string)
{
echo "'$string' ";
echo (preg_match('/[א-ת]/',$string))? "has Hebrew characters in it." : "is not Hebrew";
echo "<br />";
}
【讨论】: