2013-10-22 108 views
0

我很新的計算器如何匹配重複的字符串

我有一個問題:

Dim sample As String = "<b>test string any value </b> <b>This Continue line here </b>" 

Dim ra As New Regex("<b>(.*)</b>") 

Dim m As Match = ra.Match(sample) 
If m.Success Then 
    MsgBox(m.Groups(1).Value) 
End If 

但我得到這樣的輸出:

​​
+2

這是一個怎樣的問題?你期望輸出什麼? – Guffa

+0

您的預期產量是多少? – valverij

+1

這裏真正的問題是[嘗試使用正則表達式解析HTML](http://stackoverflow.com/a/1732454/399649)當VB.NET具有如此好的XML支持時,爲什麼要這樣做? –

回答

4

充分利用*乘法器非貪心,在它後面加一個問號,使表達式匹配儘量少用,而不是儘可能地:

Dim ra As New Regex("<b>(.*?)</b>") 

當乘數是貪婪的,.*會匹配所有字符串的結尾,那麼它會原路返回,直到它找到</b>,這將是結束第二個標籤。使用非貪婪乘數時,它將從匹配零個字符開始,然後增加匹配直到找到</b>,這將成爲第一個標記的結尾。

+0

謝謝你的幫助 –