如何匹配重复的字符串

时间:2013-10-22 16:44:40

标签: regex vb.net

我是StackOverflow的新手

我遇到了问题:

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

但我得到了这个输出:

test string any value </b> <b>This Continue line here 

1 个答案:

答案 0 :(得分:4)

通过在其后添加问号使*乘数非贪婪,使表达式尽可能少地匹配,而不是尽可能少:

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

当乘数贪婪时,.*将匹配字符串末尾的所有内容,然后它将回溯直到找到</b>,这将是第二个标记的结尾。使用非贪心乘数,它将从匹配零个字符开始,然后增加匹配,直到找到</b>,这将是第一个标记的结尾。