Regex 正则表达式,用于在匹配后直到行尾获取内容
示例:如果它像 some text Match: here is the content I want<br> Match: here is the content I want 一些文本匹配:这是我想要的内容Regex 正则表达式,用于在匹配后直到行尾获取内容,regex,vbscript,Regex,Vbscript,示例:如果它像 some text Match: here is the content I want<br> Match: here is the content I want 一些文本匹配:这是我想要的内容 Match:这是我想要的内容 我试图在Match:之后获取任何信息,直到行尾 我现在使用的正则表达式是?=Match:(.*)=\n 问题1:匹配:未被消除。 问题2:有些html标记是随机出现的。因此,如果它们发生,我必须消除它们 所以在任何情况下,我只需要“这是我想要的内
Match:这是我想要的内容 我试图在
Match:
之后获取任何信息,直到行尾
我现在使用的正则表达式是?=Match:(.*)=\n
问题1:匹配:未被消除。问题2:有些html标记是随机出现的。因此,如果它们发生,我必须消除它们 所以在任何情况下,我只需要“这是我想要的内容”
有人能告诉我正则表达式需要做哪些修改吗?有两种方法可以实现这一点:
s = "..."
Set re = New RegExp
re.Pattern = "^[\s\S]*?Match: (.*)[\s\S]*"
WScript.Echo re.Replace(s, "$1")
s = "..."
Set re = New RegExp
re.Pattern = "Match: (.*)"
For Each m In re.Execute(s)
WScript.Echo m.Submatches(0)
Next
^[\s\s]*?
匹配任何字符(包括换行符),直到第一次出现术语“匹配:”<代码>(.*)然后将所有字符匹配到下一个换行符。表达式必须覆盖子匹配前后的所有内容,因为替换不会触及字符串中不匹配的部分s = "..."
Set re = New RegExp
re.Pattern = "^[\s\S]*?Match: (.*)[\s\S]*"
WScript.Echo re.Replace(s, "$1")
s = "..."
Set re = New RegExp
re.Pattern = "Match: (.*)"
For Each m In re.Execute(s)
WScript.Echo m.Submatches(0)
Next
使用这种方法,正则表达式更简单,因为它只需要覆盖您实际想要匹配的内容(而不必覆盖您想要删除的部分)。另一方面,子批次的处理需要更多的工作请重新格式化您的问题,并确保您共享您正在使用的确切模式,并用正则表达式描述问题。@WiktorStribiżew:已完成更改,我也提到了我面临的问题。我强烈怀疑您是否提供了确切的正则表达式。是的。如果你没有在网上找到任何关于格式化帖子的帮助-。这不仅仅是格式化,我们可以访问问题源并查看原始文本。问题是,该模式不是一个可以在VBScript中使用的真正的正则表达式模式。没有这一点,问题就不清楚了。