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