haijie1223 发表于 2012-6-4 11:23:09

[已解决]正则匹配中文字符

本帖最后由 haijie1223 于 2012-6-4 14:47 编辑

从网上看到:[\u4e00-\u9fa5]匹配中文字符[\x00-\xff]匹配双字节字符(包括汉字在内)
经测试,双字节字符可行,中文字符匹配不到。
请问匹配中文正则表达式是否正确?

kevinch 发表于 2012-6-4 12:06:14

$str="test测试123成功"
$regexp=ObjCreate("vbscript.regexp")
With $regexp
        .global=1
        .multiline=1
        .pattern="[\u4e00-\u9fa5]+"
EndWith
$arr=$regexp.execute($str)
For $s In $arr
        ConsoleWrite($s.value&@CRLF)
Next用vbs正则是可以的,不过用stringregexp没测试成功

shqf 发表于 2012-6-4 12:30:58

本帖最后由 shqf 于 2012-6-4 12:32 编辑

也一直在找autoit中匹配纯汉字的表达式,今天借这题,应该找到了答案。
这次试了个把小时,在autoit中竟要如下表示。是从[\x00-\xff]受到启发的。
代码如下:#include <Array.au3>
Local $var = "经测试,双字gsasgsdd节字符可行,中文字符lkjkjkj匹配不到。请问匹配123414中文正则表达式是否正确?"
Local $array = StringRegExp($var, "[\x{4e00}-\x{9fa5}]", 3)
_arrayDisplay($array)

xms77 发表于 2012-6-4 12:45:13

回复 3# shqf
果然很强大!

haijie1223 发表于 2012-6-4 14:21:41

回复 3# shqf


    果然很强大!想不到我一个小小问题,得到一个大结果。

afan 发表于 2012-6-4 14:42:11

这个问题在10年就讨论过…
http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&ptid=18262&pid=229738&fromuid=7644923

haijie1223 发表于 2012-6-4 14:47:34

回复 6# afan


    谢谢A版提醒!问题已解决。

shqf 发表于 2012-6-4 14:55:36

一直用baidu在坛外搜索相关的资料,想不到坛内早有人给出了方法,汗!
页: [1]
查看完整版本: [已解决]正则匹配中文字符