我的函數需要替換字符串中的標籤,如果其中提取的數據有url。 例如:vb.net正則表達式 - 替換標籤而不替換span標籤
www.cnn.com
這工作正常,但是當我有這樣一個字符串:
<a href=www.cnn.com><span style="color: rgb(255, 0, 0);">www.cnn.com</span></a>
我只得到:
www.cnn.com
<a href=www.cnn.com>www.cnn.com</a>
將被取代
當我真的想要sta y與:
<span style="color: rgb(255, 0, 0);">www.cnn.com</span>
我需要添加到它的代碼工作?
這是我的函數:
Dim ret As String = text
'If it looks like a URL
Dim regURL As New Regex("(www|\.org\b|\.com\b|http)")
'Gets a Tags regex
Dim rxgATags = New Regex("<[^>]*>", RegexOptions.IgnoreCase)
'Gets all matches of <a></a> and adds them to a list
Dim matches As MatchCollection = Regex.Matches(ret, "<a\b[^>]*>(.*?)</a>")
'for each <a></a> in the text check it's content, if it looks like URL then delete the <a></a>
For Each m In matches
'tmpText holds the data extracted within the a tags. /visit at.../www.applyhere.com
Dim tmpText = rxgATags.Replace(m.ToString, "")
If regURL.IsMatch(tmpText) Then
ret = ret.Replace(m.ToString, tmpText)
End If
Next
Return ret
使用此「@」?a\b[^>] *>「'正則表達式。 – 2015-04-05 11:17:20