【原创】小试Delphi组件DIRegex(一)

   一直以来,都在为Delphi的正则表达式伤脑筋,TRegex倒是上手很快,功能上也没得说,就是Unicode不行,已开启就速度和蜗牛一样,忍受不了。TPerlRegex倒是也蛮不错的,声称支持Unicode,但是不支持/u这样正则表达式。不知道还能如何匹配中文,无奈吧。直接用PCRE倒是个好主意,可惜原生的C语言接口,转到Delphi还是要花写功夫的。何况要用最新版的话就得自己编译。原文出处http://www.qfly.cn

    无奈找了个商业版的东东——DIRegex,看了看,不怎么复杂,下载个玩玩,嘿嘿~~安装过称省略N字。搞好后,新建一个程序,放一个TDIPerlRegex在上面,改名为reg,设置CompileOptions中的coUTF8为true,coNoUtf8Check为false,MatchOptions中moBsrUnicode为true,其他保持默认设置。放一个button,双击后写入如下代码:http://jycrop.com/read.php/125.htm

 

 

procedure TForm1.Button1Click(Sender: TObject);
begin
  reg.SetSubjectStr(utf8encode(
' adf中国asd ' ));
  reg.MatchPattern:
= ' p{Han}+ ' ;
  reg.Match;
  showmessage(utf8decode(reg.MatchedStr));
end;

 

编译运行,点击按钮,就能看到匹配出来的汉字“中国”了。

新学到个正则: /p{Han}就可以匹配汉字,还可以吧Han换成以下的任意一种,就可以匹配其他国家的文字了。可以使用的国家或文字有:

Arabic, Armenian, Balinese, Bengali, Bopomofo, Braille, Buginese, Buhid, Canadian_Aboriginal, Cherokee, Common, Coptic, Cuneiform, Cypriot, Cyrillic, Deseret, Devanagari, Ethiopic, Georgian, Glagolitic, Gothic, Greek, Gujarati, Gurmukhi, Han, Hangul, Hanunoo, Hebrew, Hiragana, Inherited, Kannada, Katakana, Kharoshthi, Khmer, Lao, Latin, Limbu, Linear_B, Malayalam, Mongolian, Myanmar, New_Tai_Lue, Nko, Ogham, Old_Italic, Old_Persian, Oriya, Osmanya, Phags_Pa, Phoenician, Runic, Shavian, Sinhala, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tamil, Telugu, Thaana, Thai, Tibetan, Tifinagh, Ugaritic, Yi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值