关于Delphi中使用正则表达式获取汉字的问题

最近在使用Delphi XE编写程序的过程中,需要统计一个字符串中的英文字母,数字,汉字以及其他字符;在网上找了很久关于用Pascal语言提取中文汉字的方法,发现都不能很好的实现,于是经本人亲测有效,发现了使用Delphi XE自带的一个正则表达式控件可以实现这一功能。下面就正则表达式提取汉字做一点说明,希望能帮到大家(如果写的不好,还请多多包涵,谢谢!)

在DelphiXE中有一个自带的关于正则表达式的单元:RegularExpressions,在这个单元中有TRegEx类可以使用,当我们需要用正则表达式进行判断时可以用:TRegEx.Match()方法进行判断,该方法有两个参数:第一个参数是要进行判断的字符串,第二个参数是所用到的正则表达式;

注意:正常只能输入汉字的正则表达式为:"^[\u4e00-\u9fa5]{0,}$"。而 Delphi中需要进行转义, 输入汉字的正则表达式为: “[\x{4E00}-\x{9FA5}]+”[\x{4e00}-\x{9fa5}]{0,}$)否则程序运行起来会报错。

例如:我现在需要判断字符串中的汉字,那么使用TRegEx.Match()进行判断的方法如下:

if TRegEx.Match(s, sPattern).Success then
begin

...
end;

其中:s是需要判断的字符串;sPattern是正则表达式;Success判断是否匹配成功,匹配在成功则执行begin..end之间的代码

上述用法为本人亲测在Delphi XE中有效!!!

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值