【轉】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中有效!!!

 

感謝原文作者:

原文鏈接:https://blog.csdn.net/qq_40090395/article/details/107363515


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM