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 枚举数组

Delphi 2009 之 tcategorypanelgroup[1]: chevronalignment 等

Delphi form工程创建

Delphi 读取文件的md5值

Delphi tmsweb core 刷新当前页面

Delphi文本文件的写操作

tstrings 的用法

Delphi快速地删除一个目录

Delphi tms web core 判断是否包含汉字

Delphi开发ie右键菜单扩展

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



打赏

取消

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

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

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

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

评论

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