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

相关阅读 >>

delph做的百叶窗小程序

Delphi中设置系统时间方法

Delphi判断电脑是否安装了excel

Delphi 本地数据库备份与还原(Delphi)

Delphi tdictionary 泛型如何排序

Delphi+mysql:tadoquery使用插入中文乱码解决方法

Delphi中怎样展开和关闭treeview的所有节点

Delphi 将label的caption内容竖向显示

Delphi 同时激活两个窗体

Delphi xe5 android应用程序获取电池信息

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



打赏

取消

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

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

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

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

评论

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