找回密码
 加入
搜索
查看: 3738|回复: 7

[效率算法] [已解决]正则匹配中文字符

  [复制链接]
发表于 2012-6-4 11:23:09 | 显示全部楼层 |阅读模式
本帖最后由 haijie1223 于 2012-6-4 14:47 编辑

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

评分

参与人数 1金钱 +30 贡献 +2 收起 理由
haijie1223 + 30 + 2 谢谢

查看全部评分

发表于 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)

评分

参与人数 2金钱 +30 贡献 +8 收起 理由
haijie1223 + 30 + 5 果然很强大!想不到我一个小小问题,得到一 ...
xms77 + 3 强大

查看全部评分

发表于 2012-6-4 12:45:13 | 显示全部楼层
回复 3# shqf
果然很强大!
 楼主| 发表于 2012-6-4 14:21:41 | 显示全部楼层
回复 3# shqf


    果然很强大!想不到我一个小小问题,得到一个大结果。
发表于 2012-6-4 14:42:11 | 显示全部楼层
这个问题在10年就讨论过…
http://www.autoitx.com/forum.php ... amp;fromuid=7644923
 楼主| 发表于 2012-6-4 14:47:34 | 显示全部楼层
回复 6# afan


    谢谢A版提醒!问题已解决。
发表于 2012-6-4 14:55:36 | 显示全部楼层
一直用baidu在坛外搜索相关的资料,想不到坛内早有人给出了方法,汗!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-21 01:15 , Processed in 0.081095 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表