如何在Delphi中使用正規表示式

2021-03-31 08:56:28 字數 3375 閱讀 3902

正規表示式最早是由數學家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.使用以下**呼叫tscriptcontrol

try// 轉化為安全陣列

sarray := psafearray(tvardata(params).varray);

// 呼叫函式

result := scriptcontrol1.run(functionname, sarray);

except

on e: exception do

begin

end;

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的語法很簡單,...