亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

如何在Delphi中使用正則表達式

2019-11-18 18:18:39
字體:
來源:轉載
供稿:網友
   正则表达式最早是由数学家Stephen Kleene于1956年提出,他是在对自然语言的递增研究成果的基础上提出来的。具有完整语法的正则表达式使用  在字符的格式匹配方面上,后来被应用到熔融信息技术领域。
    正则表达式并非一门专用语言,但它可用于在一个文件或字符里查找和替代文本的一种标准。许多程序中都使用了正则表达式,但是作为我常用的编程工具之一的Delphi却没有直接提供对正则表达式的支持。郁闷之下,在网上进行了一番搜索研究之后,找到了以下几种在Delphi中使用正则表达式的方法。
    为了清楚的说明问题,我们以下面的例子来描述:
    已知网址:http://www.xcolor.cn/page1.htm
    求:链接中的文件名
    正确答案为:page1.htm

方法一 使用微软ScriptControl控件
    1. 编写一个脚本文件(test.vbs),里面包含要使用的正则表达式函数
function GetUrlFile(Url)
    Set RegObject = New RegExp
    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
    2. 下载最新版的"Microsoft(r) Windows(r) Script"
    你可以在以下地址找到下载

    3 . 安装Microsoft(r) Windows(r) Script
    Visual Basic(r) Script Edition (VBScript.) Version 5.6,
    JScript(r) Version 5.6, Windows Script Components,
    Windows Script Host 5.6,
    Windows Script Runtime Version 5.6.将被安装到你的系统中
4 .在Delphi中导入MsScript.ocx ,生成TScriptControl控件
5.使用以下代码调用TScriptControl
PRocedure TForm1.Button2Click(Sender: TObject);
var
a: OleVariant;
begin
memo2.Lines.LoadFromFile('test.vbs');
ScriptControl1.Language := 'Vbscript';
ScriptControl1.AddCode(string(memo2.Text));
a := VarArrayCreate([0, 0], varVariant);
a[0] := 'http://www.xolor.cn/page1.htm';
memo1.Lines.Add(CallFunction('GetUrlFile', a));

end;
function TForm1.CallFunction(const FunctionName: string;
const Params: oleVariant): OleVariant;
var
Sarray: PSafeArray;
begin

try
// 转化为安全数组
Sarray := PSafeArray(TVarData(Params).VArray);
// 调用函数
Result := ScriptControl1.Run(FunctionName, Sarray);
except
on E: Exception do
begin
end;
end;
end;
 
方法二 使用微软RegExp
    1. 下载并安装最新版的"Microsoft(r) Windows(r) Script"
    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控件
procedure TForm1.Button1Click(Sender: TObject);
var
machs: IMatchCollection;
Matchs: Match;
submatch: ISubMatches;
i, j: integer;
begin
RegExp1.Global := true;
RegExp1.Pattern := '/w+/./w+(?!.)';
RegExp1.IgnoreCase := true;
machs := RegExp1.Execute('http://www.xcolor.cn/dd/page1.htm') as
IMatchCollection;
for i := 0 to machs.Count - 1 do
begin
Matchs := machs.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中的XML解析控件TXMLDocument的用法

下一篇:先人的DELPHI基礎開發技巧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人在线| 国产日韩欧美在线观看| 欧美激情啊啊啊| 日韩美女视频在线观看| 亚洲欧美制服另类日韩| 亚洲综合日韩中文字幕v在线| 精品国产乱码久久久久酒店| 国产综合久久久久| 91情侣偷在线精品国产| 亚洲深夜福利在线| 亚洲一区二区三区久久| 国产精品久久在线观看| 精品无人国产偷自产在线| 欧美三级欧美成人高清www| 91av在线不卡| 国产成人a亚洲精品| 日韩欧美一区视频| 最新国产精品拍自在线播放| 亚洲在线www| 亚洲精品久久久久久下一站| 欧美日韩加勒比精品一区| 91久久国产精品91久久性色| 精品视频久久久久久| 成人h猎奇视频网站| 欧美高清不卡在线| 国产精品日韩欧美大师| 亚洲va欧美va国产综合久久| 亚洲一区av在线播放| 日韩精品亚洲视频| 91影视免费在线观看| 有码中文亚洲精品| 97福利一区二区| 一区二区三区视频免费| 日韩在线小视频| 欧美精品www在线观看| **欧美日韩vr在线| 日韩成人在线视频观看| 成人疯狂猛交xxx| 亚洲人精选亚洲人成在线| 69视频在线播放| 国产视频自拍一区| 国产精品视频99| 欧美中文字幕在线播放| 欧美日韩另类视频| 久久好看免费视频| 91在线免费观看网站| 亚洲精品在线91| 久久久久久999| 欧美一级bbbbb性bbbb喷潮片| 日本电影亚洲天堂| 亚洲精品自拍第一页| 亚洲精品在线观看www| 国产精品爽爽爽| 欧美精品制服第一页| 在线观看日韩欧美| 91经典在线视频| 色多多国产成人永久免费网站| 亚洲免费福利视频| 久久精品国产99国产精品澳门| 国产精品久久久久久久久久三级| 欧美日韩亚洲一区二区| 欧美精品videos另类日本| 综合欧美国产视频二区| 国产精品成人v| 欧美日韩福利在线观看| 青青青国产精品一区二区| 欧美亚洲日本黄色| 日韩av色综合| 亚洲精品国产成人| 精品国模在线视频| 中文字幕综合一区| 国产精品igao视频| 亚洲激情自拍图| 欧美黑人xxxx| 亚洲成人国产精品| 91精品国产综合久久久久久蜜臀| 中文字幕在线观看亚洲| 中文字幕日韩免费视频| 日韩成人av在线| 精品综合久久久久久97| 亚洲专区在线视频| 日韩av成人在线观看| 久久精品99国产精品酒店日本| 91精品久久久久久久久久久久久久| 欧美电影免费看| 久久久www成人免费精品张筱雨| 91免费福利视频| 国产精品久久久久免费a∨| 久久免费少妇高潮久久精品99| 亚洲最大av网站| 中文字幕免费精品一区| 久久精品视频中文字幕| 日本精品视频网站| 成人美女免费网站视频| 亚洲永久免费观看| 中文字幕欧美国内| 国产精品久久久久免费a∨| 色婷婷**av毛片一区| 国产mv久久久| 亚洲精品一区久久久久久| 国产精品色视频| 日本亚洲欧美三级| 亚洲欧美一区二区三区情侣bbw| 日韩一区二区三区国产| 欧美日韩ab片| 欧美亚洲视频在线看网址| 欧美贵妇videos办公室| 亚洲色图第一页| 日韩av黄色在线观看| 91精品国产综合久久香蕉最新版| 久久人体大胆视频| 一区二区福利视频| 欧美激情在线一区| 福利视频导航一区| 日韩av三级在线观看| 久久久久久久久电影| 国产精品自拍视频| 这里只有精品在线观看| 欧美巨猛xxxx猛交黑人97人| 日韩电视剧在线观看免费网站| 最近更新的2019中文字幕| 国产精品一区二区三区久久久| 精品久久久久久久久国产字幕| 亚洲欧美变态国产另类| 午夜精品久久久久久久白皮肤| 成人性生交大片免费看小说| 日韩福利伦理影院免费| 亚洲永久在线观看| 色阁综合伊人av| 欧美亚洲视频一区二区| 91亚洲精华国产精华| 在线精品国产成人综合| 国产精品国产福利国产秒拍| 日本成人黄色片| 深夜福利亚洲导航| 亚洲精品videossex少妇| 国产精品久久久久久久久久久久久久| 久久综合国产精品台湾中文娱乐网| 日本一区二区三区在线播放| 欧美与黑人午夜性猛交久久久| 精品高清一区二区三区| 亚洲日韩中文字幕| 日韩在线观看免费网站| **欧美日韩vr在线| 青青草一区二区| 午夜精品一区二区三区在线视| 日韩欧美a级成人黄色| 欧美日韩黄色大片| 亚洲成人久久久| 精品久久中文字幕| 欧美成aaa人片在线观看蜜臀| 色婷婷av一区二区三区久久| 亚洲精品国产拍免费91在线| 国产精品自产拍在线观| 亚洲国产精品999| 色婷婷久久av| 久久久久久久爱| 久久视频在线免费观看| 精品亚洲国产视频| 亚洲成色www8888| 一区二区亚洲精品国产| 一区二区在线免费视频| 成人中心免费视频| 精品欧美一区二区三区|