vbscript 搜索模式前缀和 return 字

vbscript search for pattern prefix and return word

您好,我正在文件中搜索特定模式(前缀)并尝试 return 整个单词。该模式多次出现在文件中

例如:我有一个文本文件,其中包含如下文本:-

[CATS].[Hello_World] Lorem Ipsum [CATS].[Hi_Venus] Demo Text [CATS].[Yo_Moon] Lorm Ipsum 

文本文件中没有正确的行,意味着一行可能包含 整件事 returning 行是有问题的。 程序应该 return [Hello_World], [Hi_Venus], [Yo_Moon] 匹配模式 [CATS].

我的 Cureent 代码(.hta 文件)是:-

Dim sStartPath, sStartFile, sFilter, sCaption, filePath
sStartPath = "D:\Remote"
sStartFile = sStartPath & "\nul"
sFilter    = "All Files (*.*)|*.*|" _
  & "VBScript (*.vbs;*.vbc)|*.vbs;*.vbc|" _
  & "HTML (*.htm;*.html;*.hta)|*.htm;*.html;*.hta|"
sCaption = "Choose a File:"

Sub ProcessFile()
On Error Resume Next
filePath = document.My_Process_Form.txtfile.value
        Set contents = filePath.OpenAsTextStream
        If err.number = 0 then
        Linenum = 0
        Do Until contents.AtEndOfStream
            line = contents.readline
            Linenum = Linenum + 1
                Test = Instr(line, [CATS]) 
                If Isnull(Test) = false then If Test > 0 then           demo.innerText = "1" & filePath & " " & Linenum
        Loop

        Else
            err.clear
        End If
End Sub

我正在 hta 应用程序中使用它和其他几个功能。 returns 包含模式的文件路径和行号。但我希望它如上所述搜索前缀和 return 下一个元素。

使用正则表达式在 [] 中查找前面有 [CATS]. 的文本 如

>> s = "[CATS].[Hello_World] Lorem Ipsum [CATS].[Hi_Venus] Demo Text [CATS].[Yo_Moon] Lorm Ipsum "
>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = "\[CATS\]\.(\[[^]]+\])"
>> Set ms = r.Execute(s)
>> For Each m In ms
>>     WScript.Echo m.SubMatches(0)
>> Next
>>
[Hello_World]
[Hi_Venus]
[Yo_Moon]