失败的正则表达式字符串是正确的

时间:2014-05-11 06:10:33

标签: regex vb.net

你好这个正则表达式让我在vb.NET中疯狂:

它适用于在线正则表达式测试人员,但不适用于vb.NET:

Dim pattern1 As String="Version:</b>\s*<span>(.*)\<"

加倍反斜杠\\不起作用,也不会在字符串前面加上 @ 作为文字,如c# 我也尝试过:

Dim pattern2 As String="<b\>Version:\</b\>+.*<span>(.*)</span>"

从这一行开始,我必须捕获Beta:

<b>Version:</b>             <span> Beta </span>

1 个答案:

答案 0 :(得分:1)

我没有看到问题所在。 The regex works in the Regex Hero online tester(包括捕获"Beta"捕获组...)

VB.NET Regex in Regex Hero Online

...并在其生成的以下VB.NET片段中工作(为了清楚起见,我为此添加了Console.WriteLine调用):

Dim strRegex as String = "Version:</b>\s*<span>(.*)\<"
Dim myRegex As New Regex(strRegex, RegexOptions.None)
Dim strTargetString As String = "<b>Version:</b>             <span> Beta </span>"

For Each myMatch As Match In myRegex.Matches(strTargetString)
    If myMatch.Success Then
        Console.WriteLine(myMatch.Groups(1).Value)
    End If
Next

该代码段输出您想要的内容:

  

β