delphi 匹配中文的正则表达式


本文整理自网络,侵删。

 
问:
本人最近刚刚学习正则表达式;在学习的过程中,一直被中文匹配的正则表达式而困惑;试过网上一些人提供的方法,例如:[\u4E00-\u9FA5]+ 等等之类,在Delphi里面没有试成功过,很是郁闷啊;在网上下载了一个RegexBuddy工具,它好像是使用C++Builder或者Delphi编译的;当时它支持通过 \w 方式来匹配中文,但是在程序里面却没有办法;不知道它是怎么做到的;现在求在Delphi可用的中文正则表达式的写法;(我目前试用过两种第三方的正则表达式的单元来使用的;一个是(TRegExpr RegExpr.pas);另外一个是:TPerlRegEx PerlRegEx.pas 引用PCRELIB.dll,不支持\u \U);
只要能在Delphi测试通过,立马给分;

答:
1.TRegExpr.pas默认不支持Unicode,找到{.$DEFINE UniCode}行,删除.字符使其支持UniCode.
2.TRegExpr.pas支持unicode的语法为 \x{nnnn} 而不是\unnnn
所以汉字匹配为 [\x{4E00}-\x{9FA5}]+ 而不是 [\u4E00-\u9FA5]+

转:http://bbs.csdn.net/topics/190157076

相关阅读 >>

Delphi 判断安卓app第一次启动

Delphi base32 的加密和解密

Delphi idhttp1 xmlpost

Delphi ansicontainstext 是否包含子串

Delphi防止因系统崩溃而丢失任务栏的图标(重建托盘图标)

Delphi中ado异步执行方式

Delphi用twebbrowser组件在Delphi中post数据和取得网页源文件

Delphi 搜索某个字的位置 [带重复]

Delphi用内存流方式获取页面验证码图片

Delphi获取系统特殊文件夹路径

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...