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