Regex 使用Visual Basic for Applications时出现正则表达式错误

Regex 使用Visual Basic for Applications时出现正则表达式错误,regex,excel,vba,basic,Regex,Excel,Vba,Basic,使用模式\”([\s\s]*?)\“进行测试可以匹配我的目标字符串。然而,在我的代码中,我得到了一个类型不匹配,并且不确定为什么IDE改变了字符串在引号中的格式 Dim Matches Dim objectRegularExp As RegExp If Application.FileDialog(msoFileDialogOpen).Show <> -1 Then Exit Sub FileName = Application.FileDialog(msoFileDialogOp

使用模式
\”([\s\s]*?)\“
进行测试可以匹配我的目标字符串。然而,在我的代码中,我得到了一个类型不匹配,并且不确定为什么IDE改变了字符串在引号中的格式

Dim Matches
Dim objectRegularExp As RegExp

If Application.FileDialog(msoFileDialogOpen).Show <> -1 Then Exit Sub
FileName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
Open FileName For Input As #1
yourText = Input(LOF(1), #1)
Close #1
LengthOfFile = Len(yourText)

'create regular expression

Set objectRegularExp = New RegExp
With objectRegularExp
     .Pattern = "" \ "(\s\S*?)\"""                 <type mismatch runtime error
     .Global = True
     .MultiLine = True
End With
Set Matches = objectRegularExp.Execute(yourText)
Dim匹配
Dim objectRegularExp作为RegExp
如果Application.FileDialog(msoFileDialogOpen).Show-1,则退出Sub
FileName=Application.FileDialog(msoFileDialogOpen)。选择editems(1)
打开文件名作为#1输入
yourText=输入(LOF(1),#1)
关闭#1
LengthOfFile=Len(您的文本)
'创建正则表达式
Set-objectRegularExp=New-RegularExp
使用objectRegularExp
.Pattern=“”\”(\s\s*?)\”您的报价是错误的

字符串用引号括起来。要将引号括在字符串中,需要两个引号。在字符串的开头有两个引号(所以是空字符串),在字符串的中间有一个引号。如果字符串首先有效,则终止该字符串

通常我们使用这样的非懒惰方式


.Pattern=Chr(34)&“\”&Chr(34)&“(\s\s*?)\”&Chr(34)

这是我从未想到过的使用Chr(34)的模式。我将详细阅读双引号的用法。Pattern=Chr(34)和“(\s\s*?)”和Chr(34)。谢谢@mfitzp