0

私は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 
4

1 に答える 1

4

乗数の*後にクエスチョン マークを追加して、貪欲でない乗数を作成し、式を可能な限りではなく可能な限り一致させます。

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

乗数が貪欲な場合、文字列の末尾まですべてに一致し、2 番目のタグの末尾になる が.*見つかるまでバックトラックします。</b>貪欲でない乗数を使用すると、ゼロ文字の一致から開始し</b>、最初のタグの終わりになる が見つかるまで一致を増やします。

于 2013-10-22T16:51:01.480 に答える