# 请教ASP 正则高手一个规则的写法，感谢！

xyz98765 2011-04-14 10:18:05

<div id=yued>
<div class=tit>新闻推荐阅读</div>
<div class=yuebox><!--新闻图片区 -->
<div class=imgcon><a href="#" target=_blank><img border=0 alt="" src="#" width=104 height=90></a><span><a href="#" target=_blank>标题一</a><br><a href="#" target=_blank><strong>标题2</strong></a><br></span>
<div class=clear></div></div><!--图区 结束-->
<div class=testlinh><a href="#" target=_blank>标题3</a></div>
<ul class=testlinhul>
<li><a href="#" target=_blank>标题4</a></li>

<li><a href="#" target=_blank>标题5</a></li>

<li><a href="#" target=_blank>标题6</a></li>

<li><a href="#" target=_blank>标题7</a></li>

<li><a href="#" target=_blank>[标题8]</a><a href="#" target=_blank>标题9</a></li>

<li><a href="#" target=_blank>[标题10]</a><a href="#" target=_blank>标题11</a></li>

<li><a href="#" target=_blank>[标题12]</a><a href="#" target=_blank>标题13？</a></li>
</ul>
</div></div><!--新闻推荐阅读 结束-->

zzz=split(thtxt,"@@@@")
If Instr(zzz(0),"\$*\$")>0 Then'如果包含\$*\$,进行特殊替换处理
b1=split(zzz(0),"\$*\$")
Set Re = New Regexp
Re.IgnoreCase = True
Re.Global = True
' Re.Pattern =b1(0)&".*?"&b1(1)&"" '----这种写法只对第一种情况有效，对第二种情况无效
Re.Pattern = b1(0)&"(.*?)"&b1(1) '----这种写法只对第二种情况有效，对第一种情况无效
Set Matches =Re.Execute(Content)
For Each Match in Matches
b2=Match.Value

If TempStr<>"" then
TempStr=TempStr & "\$Array\$" & b2
Else
TempStr=b2
End if
Next
c1=split(TempStr,"\$Array\$")
response.write "匹配到的内容："&TempStr&"=============================="

end if

...全文
71 点赞 收藏 6

6 条回复

lsf5921 2011-04-14

RegExp.Pattern = "<a src=""([^#:][^""]*"""
Set Matches = RegExp.Execute(HTMLCONTENT)
For Each Matche In Matches
getValue = Matche.SubMatches(0)
Next

``````
Function getRegExpStr(ByVal str)
Dim arrErr,i
str=tostr(str)
strErr = Array("\","|",".","*","?","+","^","\$","{","}","[","]","(",")",vbcr,vblf)
For i=0 To UBound(arrErr)
str = Replace(str, arrErr(i), "\" & arrErr(i))
Next
getRegExpStr = str
End Function
``````

xyz98765 2011-04-14

/：<img real_src =\".*?\" >/

/<div class=yuebox>[\s\S]+<!--新闻推荐阅读 结束-->/

xyz98765 2011-04-14

：<img real_src ="http://s1.sinaimg.cn/middle/5919b50et693500716de0" /></A>

hongmei85 2011-04-14
``````		<textarea name="kk" id="kk" rows="10" cols="50">文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容
<div id=yued>
<div class=tit>新闻推荐阅读</div>
<div class=yuebox><!--新闻图片区 -->
<div class=imgcon><a href="#" target=_blank><img border=0 alt="" src="#" width=104 height=90></a><span><a href="#" target=_blank>标题一</a><br><a href="#" target=_blank><strong>标题2</strong></a><br></span>
<div class=clear></div></div><!--图区 结束-->
<div class=testlinh><a href="#" target=_blank>标题3</a></div>
<ul class=testlinhul>
<li><a href="#" target=_blank>标题4</a></li>

<li><a href="#" target=_blank>标题5</a></li>

<li><a href="#" target=_blank>标题6</a></li>

<li><a href="#" target=_blank>标题7</a></li>

<li><a href="#" target=_blank>[标题8]</a><a href="#" target=_blank>标题9</a></li>

<li><a href="#" target=_blank>[标题10]</a><a href="#" target=_blank>标题11</a></li>

<li><a href="#" target=_blank>[标题12]</a><a href="#" target=_blank>标题13？</a></li>
</ul>
</div></div><!--新闻推荐阅读 结束-->文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容
</textarea>
<script type="text/javascript">
<!--
var re = /<div class=yuebox>[\s\S]+<!--新闻推荐阅读 结束-->/
var jj = re.exec(document.getElementById("kk").value)
//-->
</script>``````

xyz98765 2011-04-14

xyz98765 2011-04-14

===================================================

<div id=yued>\$*\$<!--新闻推荐阅读 结束-->@@@@Null

\$*\$代表不想要的内容（同时这个内容也是不确定的）

zzz=split(thtxt,"@@@@")
If Instr(zzz(0),"\$*\$")>0 Then'如果包含\$*\$,进行特殊替换处理
b1=split(zzz(0),"\$*\$")
Set Re = New Regexp
Re.IgnoreCase = True
Re.Global = True
Re.Pattern =b1(0)&".*?"&b1(1)&"" '----这个是正则写法
Set Matches =Re.Execute(Content)
For Each Match in Matches
b2=Match.Value
If TempStr<>"" then
TempStr=TempStr & "\$Array\$" & b2
Else
TempStr=b2
End if
Next
response.write "匹配到的内容："&TempStr&"=============================="

<div id=yued>
<div class=tit>新闻推荐阅读</div>
<div class=yuebox><!--新闻图片区 -->
<div class=imgcon><a href="#" target=_blank><img border=0 alt="" src="#" width=104 height=90></a><span><a href="#" target=_blank>标题一</a><br><a href="#" target=_blank><strong>标题2</strong></a><br></span>
<div class=clear></div></div><!--图区 结束-->
<div class=testlinh><a href="#" target=_blank>标题3</a></div>
<ul class=testlinhul>
<li><a href="#" target=_blank>标题4</a></li>

<li><a href="#" target=_blank>标题5</a></li>

<li><a href="#" target=_blank>标题6</a></li>

<li><a href="#" target=_blank>标题7</a></li>

<li><a href="#" target=_blank>[标题8]</a><a href="#" target=_blank>标题9</a></li>

<li><a href="#" target=_blank>[标题10]</a><a href="#" target=_blank>标题11</a></li>

<li><a href="#" target=_blank>[标题12]</a><a href="#" target=_blank>标题13？</a></li>
</ul>
</div></div><!--新闻推荐阅读 结束-->

====================

zzz=split(thtxt,"@@@@")
If Instr(zzz(0),"\$*\$")>0 Then'如果包含\$*\$,进行特殊替换处理
b1=split(zzz(0),"\$*\$")
Set Re = New Regexp
Re.IgnoreCase = True
Re.Global = True
Re.Pattern = b1(0)&"(.*?)"&b1(1)'----这个是正则写法
Set Matches =Re.Execute(Content)
For Each Match in Matches
b2=Match.Value
If TempStr<>"" then
TempStr=TempStr & "\$Array\$" & b2
Else
TempStr=b2
End if
Next
response.write "匹配到的内容："&TempStr&"=============================="

=======================
、可以看到二个正则Re.Pattern写法不一样（蓝色字），我想写一个通用的，可以同时适合这二种情况的正则，感谢指导！

ASP

2.8w+

ASP即Active Server Pages，是Microsoft公司开发的服务器端脚本环境。

2011-04-14 10:18