Regex 编写选择VBScript类及其名称的正则表达式

Regex 编写选择VBScript类及其名称的正则表达式,regex,vbscript,Regex,Vbscript,我正在编写一个正则表达式,用于选择VBScript类及其名称。目前情况是这样的 正则表达式: 实时代码演示: 这很好,但我需要修改,以便它只选择类Person,而不选择文本末尾的单词Class。两个*量词都应替换为+一个或多个。使用.Multiline标志、在开始时锚定并捕获类名可能是一个好主意。是否在上课前允许前导空格取决于您: Option Explicit Dim s : s = Join(Array( _ "' Class ForgetIt" _ , "whatever"

我正在编写一个正则表达式,用于选择VBScript类及其名称。目前情况是这样的

正则表达式:

实时代码演示:

这很好,但我需要修改,以便它只选择类Person,而不选择文本末尾的单词Class。

两个*量词都应替换为+一个或多个。使用.Multiline标志、在开始时锚定并捕获类名可能是一个好主意。是否在上课前允许前导空格取决于您:

Option Explicit

Dim s : s = Join(Array( _
    "' Class ForgetIt" _
  , "whatever" _
  , " Class FindIt" _
  , "whatever" _
  , "End Class ' FindIt" _
  , "s = ""Class NotMe""" _
  , "CLASS MeToo" _
  , "End Class" _
), vbCrLf)
Dim r : Set r = New RegExp
r.Global = True
r.IgnoreCase = True
r.Multiline = True
r.Pattern = "^\s*Class\s+(\w+)+"
Dim m
For Each m In r.Execute(s)
    WScript.Echo m.SubMatches(0)
Next
输出:

cscript 31398009.vbs
FindIt
MeToo
cscript 31398009.vbs
FindIt
MeToo