PHP正则表达式来破译英文和中文字符

时间:2011-07-30 12:00:42

标签: php regex cjk

我有一个中英文的描述。

我如何使用正则表达式来表达类似的内容,如果该行包含中文字符然后执行A,否则执行B?

这里的例子

电源: 110V/220W50-60HZ
功率:60W
光源:12V 150 W
尺寸:220x150x280mm
重量:2.3KG



Voltage : 110V/220W50-60HZ
Power : 60W
Bulb : 12V 150 W
Size : 220x150x280mm
Weight:2.3KG

1 个答案:

答案 0 :(得分:4)

中文字符在以下范围内:U+4E00..U+9FFF

如果您的expreg扩展程序是使用Unicde支持构建的,b\p{InCJK_Unified_Ideographs}[\x{4E00}-\x{9FFF}]的良好替代品(在Jens Struwe提供的链接中)。

您可以在此处找到大多数(全部?)的Unicode范围:http://www.regular-expressions.info/unicode.html

我不确定你想要达到什么目标,但也许一个良好的开端会将你的描述分开。然后,对于每一行,查找它是否为中文,并运行相应的正则表达式。 ;)