正则表达式命名组

山姆·约翰逊(Sam Johnson)

我目前正在尝试合并两个组,但是我的表达失败了。

第一组应包含0-9和一个句号,其次数不限。将带有加号的第二个a到z组尽可能多的时间。HTML会自我重复大约300次,因此我仅添加了两个示例。这将仅匹配第一个实例,而不再匹配。

Imports System.Text.RegularExpressions

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim text = "<tr><td>123.456<script type=""text/javascript"">document.write("":""+hello)</script></td><td>some html</td><td>date time</td><td>person</td></tr><tr><td>567.789<script type=""text/javascript"">document.write("":""+world)</script></td><td>html</td><td>time date4</td><td>person</td></tr>"
        Dim rx As New Regex("<tr><td>(?<Number>[0-9.]+?)<script.+document\.write\("":""(?<Document>[a-z+]+?)\)</script>")

        For Each m As Match In rx.Matches(text)
            MsgBox(m.Groups(1).Value & vbNewLine & m.Groups(2).Value)
        Next
    End Sub
End Class
三万

问题在于脚本后的。+贪婪。将其更改为。+?(不是贪婪)似乎可以解决问题。

regex101示例

问候

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章