TPerlRegEx中匹配中文标点符号

最近在用delphi7写一些东西,需要用到正则表达式。以前做网页的时候,一直用 JavaScript/VBScript里面的正则表达式。

昨天换了TPerlRegEx用,感觉真的很有些不习惯。本来要写一个匹配中文标点符号的,匹配英文代码如下

 FRe:=TPerlRegEx.Create(nil);
  FRe.Subject:=Str;
  FRe.RegEx:='[`!@#/$%/^&/*/(/)-=//_/+/|/[]/{};'':",/./<>/?]';
  FRe.Replacement:=#13;
  FRe.ReplaceAll;
  Str:=FRe.Subject;
  FreeAndNil(FRe);

没啥问题,但是匹配换成中文标点以后,

FRe.RegEx:='[,。?:;‘’!“”—…、]';

结果就变成乱码了,百思不得其解。用了好几个小时在百度上狂搜索一番,还是没找到答案。后来改了一下表达式成这样

FRe.RegEx:=',|。|?|:|;|‘|’|!|“|”|—|…|、';

结果就正常了。

 

这两种写法有任何不同吗?我看不出来,本来还想用 [ ] 中间可以使用a-z字符范围的,可以小小的偷懒一下。结果失败了,呵呵。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值