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,
q(?!u) 不匹配question,匹配iraq,
(?<=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...