在Delphi程式中使用正規表示式

2021-04-07 08:38:55 字數 1792 閱讀 5720

tregexp的正規表示式的格式說明文件

.  代表所有字元,換行符號(newline)除外

*  0或多次 *號會盡可能多匹配

+  1或多次 +號會盡可能的多匹配

?  0或1個,即使前面有+號或*號,也只能為2個(即1+1=2個)

^  否定符,如 [^2]+ 匹配不能含有2的任意字串

^ 匹配開頭  ^d,匹配以d開頭的字串

$ 匹配結尾  $s,匹配以s結尾的字串

| 相當於or about cats and dogs cat|dog|mouse|fish 匹配cat(第乙個,如果第一不存在,匹配第二個

取其中乙個(1次)

() 匹配操作模組 取值用/1  /2等表示  set(value)? 匹配 set或者setvalue. (?:value)前面用?:則不提取匹配的值,如果不需要取值就這樣用,效率會高

重複的次數 不少於min個到無窮個,精確到num個

/d 匹配所有阿拉伯數字

/b 匹配僅僅是文字的字串,2個位元組寬的文字,如中文,日文等 

/b 和/b剛好想反,只匹配1位元組寬的如字母,數字,不匹配符號

/w 匹配word character,也會匹配阿拉伯數字(匹配1次)sd35fg3 /b3/b 匹配的是d35

/p 匹配unicode的字元

範圍查詢

q(?=u) 匹配question,不匹配iraq,http://www.regular-expressions.info/quickstart.html

q(?!u) 不匹配question,匹配iraq,http://www.regular-expressions.info/quickstart.html

(?<=a)b 匹配abc

(?***********************************===

3.在delphi中引入"microsoft vbscript regular expressions"

主選單->project->import type library->在列表中選擇"microsoft vbscript regular expressions"

生成tregexp控制項

4.使用以下**呼叫tregexp控制項

}procedure tform1.button1click(sender: tobject);

varmatchcollection: imatchcollection;

matchs: match;

submatch: isubmatches;

i, j: integer;

begin

regexp1.global := true;

regexp1.pattern := '/w+/./w+(?!.)';

regexp1.ignorecase := true;

matchcollection := regexp1.execute(edit1.text) as imatchcollection;

for i := 0 to matchcollection.count - 1 do

begin

matchs := matchcollection.item[i] as match;

submatch := matchs.submatches as isubmatches;

memo1.lines.add(matchs.value);

for j:=0 to submatch.count -1 do

memo1.lines.add(submatch.item[j])

end;

end;

在Delphi程式中使用正規表示式

tregexp的正規表示式的格式說明文件 代表所有字元,換行符號 newline 除外 0或多次 號會盡可能多匹配 1或多次 號會盡可能的多匹配 0或1個,即使前面有 號或 號,也只能為2個 即1 1 2個 否定符,如 2 匹配不能含有2的任意字串 匹配開頭 d,匹配以d開頭的字串 匹配結尾 s,匹...

在DELPHI應用程式中使用DLL

delphi的dll建立並不複雜,下面向大家介紹delphi的dll建立方法。1 首先建立乙個新的dll專案 newproject 因為dll與呼叫它的主程式要分開編譯。如果dll模組已經建立在呼叫它的專案中 project 則將它的窗體 form 從project移出,另建乙個新的專案 newpr...

在DELPHI中使用正規表示式

在網上發現,有多種方法可在delphi中使用正規表示式。竊以為直接使用微軟的regexp物件會比較簡單,無需額外工作。使用微軟regexp方法 2.註冊vbscript.dll regsvr32 命令,若安裝過vb或ie5以上會預設安裝該dll 3.在delphi中引入 microsoft vbsc...