求个asp正则

来源:百度知道 编辑:UC知道 时间:2024/05/25 14:36:34
字符串
/abce/345/22/556/list01.htm
/sdi3/32kdhtml/2ld.html
/k3d82l/htmsk3/html/492.html

求一个asp的正则表达式,获取
A为目录名B为文件名(后缀为.htm或者.html)
例如匹配第一条时A=/abce/345/22/556/ B=list01.htm

匹配第二条是A=/sdi3/32kdhtml/ B=2ld.html

<%
dim str,re,Matches,Match,m,i
str="/abce/345/22/556/list01.htm,/sdi3/32kdhtml/2ld.html,/k3d82l/htmsk3/html/492.html "
set re=new RegExp
re.pattern="(\/(?:\w+\/)*)(\w+\.html?)"
re.global=true
re.ignoreCase=true
set Matches=re.Execute(str)
i=0
For Each Match in Matches ' 遍历 Matches 集合。
response.Write("匹配字符串:"&Match.value&"<br />")
for each m in match.SubMatches
if i=0 then
response.Write("目录名:")
i=1
else
response.Write("文件名:")
i=0
end if
response.Write(m&"<br />")
next
Next
set Matches=nothing
set re=nothing
%>

?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置

根据个人实践,asp正则,其实也就是VBS正则,不支持 后发断言 即不支持(?<=exp)和(?<!exp),但我每用的时个,借助 先行断