regex - 正则表达式 - PCRE 不支持\L,\l,\N,\P,

标签 regex pcre

我需要使用下面的正则表达式来验证一些亚洲字符

 $regexp = "/^[\-'\u2e80-\u9fff\sa-zA-Z.]+$/"; // with warning

 $regexp = "/^[\-'\sa-zA-Z.]+$/";   // without warning

preg_match() [function.preg-match]:编译失败:PCRE 不支持\L、\l、\N、\P、\p、\U、\u 或\X。

你知道如何更改正则表达式模式以便我可以验证来自 \u2e80-\u9fff 的亚洲字符吗?

我正在使用最新的 XAMPP

Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

最佳答案

PCRE 不支持 \uXXXX 语法。请改用 \x{XXXX}。见 here .

你的 \u2e80-\u9fff 范围也相当于

\p{InCJK_Radicals_Supplement}\p{InKangxi_Radicals}\p{InIdeographic_Description_Characters}\p{InCJK_Symbols_and_Punctuation}\p{InHiragana}\p{InKatakana}\p{InBopomofo}\p{InHangul_Compatibility_Jamo}\p{InKanbun }\p{InBopomofo_Extended}\p{InKatakana_Phonetic_Extensions}\p{InEnclosed_CJK_Letters_and_Months}\p{InCJK_Compatibility}\p{InCJK_Unified_Ideographs_Extension_A}\p{InYijing_Hexagram_Symbols}\p{InCJK_Unified_Ideographs}

如果您正在处理 UTF-8,请不要忘记添加 u 修饰符(/regex here/u)。如果你正在处理另一种多字节编码,你必须先convert转为 UTF-8。

关于regex - 正则表达式 - PCRE 不支持\L,\l,\N,\P,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538293/

相关文章:

python - 如何在Python的SMBCoonect listPath函数中设置模式匹配

JavaScript 正则表达式 : match all minuses that are not at start or end of string for currency input

python - 提取引号内的所有数据并制作一个列表

匹配评论中其余行的 Ruby RegExp

regex - 仅在开始模式和结束模式之间匹配模式

javascript - XRegExp: "Unmatched ' )'"然而一切似乎都是平衡的

regex - 用于匹配括号中所有内容的递归正则表达式 (PCRE)

javascript - 字符串中的连续数字到数组

regex - 与正则表达式的反匹配

c - PCRE 二进制文件?