-1

好吧,我一直在尝试解决这个问题,但是对于正则表达式来说还很陌生,我一直不太成功。我的目标是产生一个匹配,将一个字符串与另一个可能更大或与前一个字符串相同大小的字符串进行比较。仅当第一个字符串 1. 与另一个字符串的某些部分不区分大小写匹配时,才会发生此匹配,2. 在另一个字符串中成功匹配的字符串应该是单独的单词或短语,而不是另一个单词的一部分,这意味着它以字符串开头或空格开头,以字符串结尾或空格结尾。来自熟练的正则表达式用户的任何帮助都将受到欢迎。

'this yields : run time error 5018 = Unexpected quantifier in regular expression
RegExPattern = "(\b|^)?" + "[" + ColumnArr(PhraseCt) + "]" + "(\b|[ ])?)" 
With RegEx
     .MultiLine = False
     .Global = True
     .IgnoreCase = False
     .Pattern = RegExPattern
End With
Set Matches = RegEx.Execute(SearchTerm)
4

1 回答 1

1

\b应该匹配字符串的开头(请参阅VBA Excel 正则表达式 - 如果单词位于字符串开头,则 \b 单词边界不匹配以确认 Excel 2010 中的字符串)。所以你应该可以使用

RegExPattern = "\b" + ColumnArr(PhraseCt) + "\b"

(假设这ColumnArr(PhraseCt)是您要搜索的词)。IgnoreCase = True如果您希望它不区分大小写,也可以使用。

于 2013-04-25T15:10:38.207 回答