国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

文件名 正則表達(dá)式提取方法

2020-07-27 13:01:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
下面這段子程基本上可以算是比較不錯(cuò)的通用匹配了。(PS:我突然發(fā)現(xiàn)CODE_LITE把我的UBB轉(zhuǎn)義了?。?!暈,我只好自己轉(zhuǎn)義了。。。)

Dim objRegExp,Matches,i,DC9_DOT_CN_MATCH
Dim aryMatch()
Redim Preserve aryMatch(0)
Set objRegExp=New RegExp
objRegExp.IgnoreCase =True
objRegExp.Global=True
objRegExp.Pattern="(?:/[[^/]]+/]([^/[]+)/[//[^/]]+/])|(?:(?:href|src)=([^/s|^>]+)[""|>|/s/'])"
Set Matches = objRegExp.Execute("[img]2312.jpg[/img][img]2312.jpg[/img]hh[img]http://www.dc9.cn/cm/upload/2ed312.jpg[/img]<a href=""http://www.dc9.cn/ddd.jpg""></a> href=""http://www.dc9.cn/dccdd.jpg"">[IMG_RIGHT=400,300,title]upload/2assas.jpg[/IMG_RIGHT]<sctipt src=""http://www.dc9.cn/upload/sss.jpg""")
Dim TmpMatch
For i=0 to Matches.Count-1
Call InsertDataToArray(Matches(i).SubMatches(0),aryMatch)
Call InsertDataToArray(Matches(i).SubMatches(1),aryMatch)
Next

For i=0 to Ubound(aryMatch)
If Not IsNull(aryMatch(i)) And Trim(aryMatch(i))<>"" Then Response.write aryMatch(i)&"<br>"
Next

Function InsertDataToArray(Data,ByRef aryMatch)
If Trim(Data)<>"" Then
Data=Replace(Data,"'","")
Data=Replace(Data,"""","")
Data=Replace(Data,"/","/")
Data=Split(Data,"/")(Ubound(Split(Data,"/")))
Redim Preserve aryMatch(Ubound(aryMatch)+1)
DC9_DOT_CN_MATCH=False
For j=0 to Ubound(aryMatch)
If aryMatch(j)=Data Then DC9_DOT_CN_MATCH=True
Next
If Not DC9_DOT_CN_MATCH Then aryMatch(Ubound(aryMatch))=Data
End If
End Function
實(shí)際上,Z-Blog的話(huà)就匹配Upload就可以了(但是我為了省事,也為了更精確些,就干脆在上面的那個(gè)匹配上面加上了upload,所以看上去好像下面這個(gè)更復(fù)雜些,其實(shí)理論上應(yīng)該下面這個(gè)簡(jiǎn)單些,畢竟有upload管著呢。。),也不用SPLit那個(gè)/.這么寫(xiě)就可以了:

Dim objRegExp,Matches,i,ZC_UPLOAD_MATCH
Dim aryMatch()
Redim Preserve aryMatch(0)
Set objRegExp=New RegExp
objRegExp.IgnoreCase =True
objRegExp.Global=True
objRegExp.Pattern="(?:/[[^/]]+/][^/[]*upload//([^/[|^//|^//]+)/[//[^/]]+/])|(?:(?:href|src)=""{0,1}[^/s|^""|^>|^']*upload//([^/s|^>]+)[""|>|/s/'])" 
Set Matches = objRegExp.Execute("[img]2312.jpg[/img][img]2312.jpg[/img]hh[img]http://www.dc9.cn/cm/upload/2ed312.jpg[/img]<a href=""http://www.dc9.cn/ddd.jpg""></a> href=""http://www.dc9.cn/dccdd.jpg"">[IMG_RIGHT=400,300,title]upload/2assas.jpg[/IMG_RIGHT]<sctipt src=""http://www.dc9.cn/upload/sss.jpg"" src=http://www.dc9.cn/upload/sasds.jpg'>")
Dim TmpMatch
For i=0 to Matches.Count-1
Call InsertDataToArray(Matches(i).SubMatches(0),aryMatch)
Call InsertDataToArray(Matches(i).SubMatches(1),aryMatch)
Next

For i=0 to Ubound(aryMatch)
If Not IsNull(aryMatch(i)) And Trim(aryMatch(i))<>"" Then Response.write aryMatch(i)&"<br>"
Next

Function InsertDataToArray(Data,ByRef aryMatch)
If Trim(Data)<>"" Then
Data=Replace(Data,"'","")
Data=Replace(Data,"""","")
Redim Preserve aryMatch(Ubound(aryMatch)+1)
ZC_UPLOAD_MATCH=False
For j=0 to Ubound(aryMatch)
If aryMatch(j)=Data Then ZC_UPLOAD_MATCH=True
Next
If Not ZC_UPLOAD_MATCH Then aryMatch(Ubound(aryMatch))=Data
End If
End Function

PS:最近正則又精進(jìn)不少...
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漳州市| 秭归县| 宝鸡市| 郑州市| 鄂托克前旗| 格尔木市| 白山市| 同心县| 南投市| 昌邑市| 桃江县| 酒泉市| 沙雅县| 柯坪县| 罗山县| 金坛市| 新巴尔虎左旗| 桐庐县| 虎林市| 棋牌| 金塔县| 平邑县| 麦盖提县| 通州市| 新乡市| 南和县| 新沂市| 日土县| 西乡县| 屏东市| 镶黄旗| 南靖县| 湖南省| 城口县| 清丰县| 来宾市| 游戏| 基隆市| 分宜县| 新津县| 蒙自县|