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 类型映射及类型转换

Delphi实现暴力瞬间关机

Delphi修改资源文件的代码

Delphi idhttpserver使用注意问题

Delphi rs232c接脚与对连线

Delphi 通过api强制tedit仅接受数字输入

Delphi示例代码 android,ios,osx,windows,linux,html5

Delphi 自带的 base64 编解码函数

Delphi winapi: getparent、setparent、movewindow - 获取、指定父窗口和移动窗口

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



打赏

取消

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

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

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

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

评论

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