我不知道为什么这只适用于找到的最后一个实例,而不是我期望的所有实例。需要任何帮助。
输入字符串:
<a href="http://www.scirra.com" target="_blank" rel="nofollow">http://www.scirra.com</a><br /><br />
<a href="http://www.scirra.com" target="_blank" rel="nofollow">http://www.scirra.com</a><br /><hr>
正则表达式:
'SEO scirra links
Dim regEx
Set regEx = New RegExp
' BB code urls
With regEx
.Pattern = "<a href=\""http://www.scirra.com([^\]]+)\"" target=\""_blank\"" rel=\""nofollow\"">"
.IgnoreCase = True
.Global = True
.MultiLine = True
End With
strMessage = regEx.Replace(strMessage, "<a href=""http://www.scirra.com$1"" target=""_blank"" title=""Some value insert here"">")
set regEx = nothing
输出:
<a href="http://www.scirra.com" target="_blank" rel="nofollow">http://www.scirra.com</a><br /><br />
<a href="http://www.scirra.com" target="_blank" title="Some value insert here">http://www.scirra.com</a><br /><hr>
有人能解释一下为什么它只将标题添加到最后一个找到的实例中吗?(我已经测试过更多,始终只适用于最后一个实例)
([^]]+)
的? - fgescirra.com
模式的结尾添加什么内容才能匹配任何以scirra.com开头的URL呢?例如,这个模式无法匹配http://www.scirra.com/blog
,这也是我在正则表达式中遇到困难的部分。 - Tom Gullen