正则表达式,用于匹配后直到行结束

时间:2016-07-03 10:35:24

标签: regex vbscript

示例:如果它就像

some text Match: here is the content I want<br>
Match: here is the content I want

我想在Match:之后获取任何信息,直到结束行。

我现在使用的正则表达式为?=Match:(. *)?=\n

问题1:匹配:没有被淘汰。
问题2:有一些随机出现的html标签。所以如果它们发生,我必须消除它们。

所以无论如何我只需要“这就是我想要的内容”。

有人可以告诉我修改我需要做的正则表达式吗?

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题:

  1. 删除子匹配之前/之后的所有内容:

    ^[\s\S]*?

    (.*)匹配任何字符(包括换行符)直到第一次出现的字词&#34;匹配:&#34;。 s = "..." Set re = New RegExp re.Pattern = "Match: (.*)" For Each m In re.Execute(s) WScript.Echo m.Submatches(0) Next 然后匹配所有字符直到下一个换行符。您的表达必须涵盖子匹配之前和之后的所有内容,因为替换不会触及字符串中不匹配的部分。

  2. 提取子匹配:

    <script type="text/javascript" src="//maps.google.com/maps/api/js?key=myKey&callback=handleApiReady"></script>
    

    使用这种方法,正则表达式更简单,因为它只需要覆盖您实际想要匹配的内容(而不是必须覆盖您想要删除的部分)。另一方面,子匹配的处理需要更多的工作。