日期:2014-05-17  浏览次数:21025 次

请教一个关于正则表达式的问题
用vbscript的正则表达式,如果将一个字符串 " <a   href= "http://www.163.com "> http://www.163.com </a> <a   href= "ftp://www.163.com "> ftp://www.163.com </a> ....... "
里面所以包含ftp的超连接替换成超连接的地址
例名: " <a   href= "http://www.163.com "> http://www.163.com </a> ftp://www.163.com..... "
注意:   http的超连接不用替换.

------解决方案--------------------
<textarea id= "textarea1 " >
就是将 " <a href= "ftp://www.163.com "> ftp://www.163.com </a> " 替换成 "ftp://www.163.com "
例如: " <a href= "http://www.163.com "> http://www.163.com </a> ftp://www.163.com..... "
注意: http的超连接不用替换.
</textarea>
<script language= "vbs ">
alert( testVBS(textarea1.value))
function testVBS(str)
Set regEx = New RegExp
regEx.Pattern= " <a\s+href= " "(ftp:.*) " "> \1 </a> "
regEx.IgnoreCase=true
regEx.Global=true
testVBS =regEx.Replace(str, "$1 ")
end function
</script>

------解决方案--------------------
大概这样的,有些具体的情况没有考虑。
<SCRIPT LANGUAGE= "VBScript ">
Dim re,str
str= " <a href= " "http://www.163.com " "> http://www.163.com </a> <a href= " "ftp://www.163.com " "> ftp://www.163.com </a> ....... "
msgbox "转换前: "&str
Set re = New RegExp
re.Pattern = " <a[^> ]+ftp[^> ]+> (.*?) </a> "
re.Global = True
re.IgnoreCase = True
're.MultiLine = True
str = re.Replace(str, "$1 ")
msgbox "转换后: "&str
</SCRIPT>