正则表达式 匹配中文字符方法
本帖最后由 callwww 于 2016-8-10 12:20 编辑中文字符的正则表达式 [\u4e00-\u9fa5]
因为AU3正则表达式不支持 \u
而为了匹配中文,去除中文以外的其它字符就很麻烦,后来想到借用 obj对象来实现。
下面是核心代码,供参考!
$vbRegExp = ObjCreate("vbscript.regexp") ;AU3不支持\U正则表达式,用VBscript正则表达式来实现
With $vbRegExp
.Global = True ;设置全局匹配,查找所有
.IgnoreCase = True ;不区分大小写
.Pattern ="[^\u4e00-\u9fa5]+";所有简体中文以外的字符
$strTmp=.Replace($strTmp, "") ;把符合要求的字符替换为无
EndWith
这是目前我知道的简洁高效的方法,有更好方法的,分享下噢
感谢3楼skyfree分享StringRegExp($sText, '[\x{4e00}-\x{9fff}]') 标记,谢谢分享 本帖最后由 skyfree 于 2016-8-9 18:09 编辑
StringRegExp($sText, '[\x{4e00}-\x{9fff}]') 精彩..哈哈
skyfree 发表于 2016-8-9 18:07 http://www.autoitx.com/images/common/back.gif
Thanks for sharing 回复 3# skyfree
thanks for sharing $sStr=StringRegExpReplace ( $sStr, "[^A-Za-z0-9\x{4e00}-\x{9fff}]", "" );删除 非中文 非英文 非数字
$sOut = StringRegExp ($sStr, "", 3);提取 中文英文数字
页:
[1]