正規表示式最早是由數學家stephen kleene於2023年提出,他是在對自然語言的遞增研究成果的基礎上提出來的。具有完整語法的正規表示式使用 在字元的格式匹配方面上,後來被應用到熔融資訊科技領域。
正規表示式並非一門專用語言,但它可用於在乙個檔案或字元裡查詢和替代文字的一種標準。許多程式中都使用了正規表示式,但是作為我常用的程式設計工具之一的delphi卻沒有直接提供對正規表示式的支援。鬱悶之下,在網上進行了一番搜尋研究之後,找到了以下幾種在delphi中使用正規表示式的方法。
為了清楚的說明問題,我們以下面的例子來描述:
已知**:http://.xcolor.**/page1.htm
正確答案為:page1.htm
方法一 使用微軟scriptcontrol控制項
1. 編寫乙個指令碼檔案(test.vbs),裡面包含要使用的正規表示式函式
functiongeturlfile(url)
set regobject =newregexp
with regobject
.pattern = "/w+/./w+(?!.)"
.ignorecase = true
.global = true
end with
set matchs =
regobject.execute(url)
if matchs.count > 0 then
for each mach in matchs
geturlfile=mach.value
next
end if
set regobject = nothing
end function
3 . 安裝microsoft(r) windows(r) script
visual basic(r) script edition (vbscript.) version 5.6,
jscript(r) version 5.6, windows script ***ponents,
windows script host 5.6,
windows script runtime version 5.6.將被安裝到你的系統中
4 .在delphi中匯入msscript.ocx ,生成tscriptcontrol控制項
5.使用以下**呼叫tscriptcontrolend;try// 轉化為安全陣列
sarray := psafearray(tvardata(params).varray);
// 呼叫函式
result := scriptcontrol1.run(functionname, sarray);
except
on e: exception do
begin
end;
end;
方法二 使用微軟regexp
2. regexp包含在vbscript.dll中所以我們必須先註冊regsvr32 vbscript.dll
注(安裝了ie5後預設已經包含該控制項)
3.在delphi中引入"microsoft vbscript regular expressions"
主選單->project->import type library->在列表中選擇"microsoft vbscript regular expressions"
生成tregexp控制項
4.使用以下**呼叫tregexp控制項
如何在Delphi中使用正規表示式
正規表示式最早是由數學家stephen kleene於1956年提出,他是在對自然語言的遞增研究成果的基礎上提出來的。具有完整語法的正規表示式使用 在字元的格式匹配方面上,後來被應用到熔融資訊科技領域。正 則表示式並非一門專用語言,但它可用於在乙個檔案或字元裡查詢和替代文字的一種標準。許多程式中都使...
如何在AndroidStudio中使用AIDL
本章節介紹如何在androidstudio中使用aidl 2.在aidl下建立乙個包,包裡建立乙個 aidl檔案,右鍵aidl new aidl aidl file 紅框就是建立完成後的樣子 3.在aidl檔案寫要被呼叫的方法,此方法不能有許可權修飾符 4.首先build下,然後建立乙個servic...
如何在Oracle中使用Sequence
sql server可以自增字段,但是oracle中在建表的時候可沒有這個選項,但是可以通過觸發器 trigger 或者序列 sequence 來實現,本文主要講述sequence。二者的區別oracle中自增字段的兩種方法的比較 trigger和sequence 建立sequence的語法很簡單,...