Excel VBA - Regex.Escape方法

时间:2018-05-21 01:12:34

标签: regex excel vba excel-vba

我一直在寻找能够逃避正则表达式中特殊字符的VBA代码。 VB有Regex.Escape方法。 VBA中是否有等价物?

或者是否有VBA代码,所以我不必重新发明轮子?非常感谢你!

编辑:我的意思是“Microsoft VBScript Regular Expression 5.5”库没有Regex.Escape方法。那里有相同的代码吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

Dim regExEscape As New RegExp
With regExEscape
    .pattern = "[-/\\^$*+?.()|[\]{}]"
    .Global = True
    .MultiLine = False
End With

每当需要在用户定义的字符串中转义特殊字符时,请使用

.pattern = regExEscape.Replace(user_string, "\$&")

[-/\\^$*+?.()|[\]{}]模式包含一个字符类,该类与需要在模式中转义为文字字符的所有可能的元字符相匹配。它与-/\^$*+?.()|[]{},以及何时您将其替换为\$&,然后在它们前面添加一个转义的\$&是对整个匹配值的反向引用)。