是否有一个函数来逃避所有正则表达式相关的字符?

时间:2018-03-27 15:20:48

标签: swift regex nsregularexpression

我在我的应用程序中使用的正则表达式是用户输入和代码的组合。因为我不想限制用户,所以我希望从条目中删除所有与正则表达式相关的字符,如" +",括号,斜杠等。 是否有一个函数或至少一个简单的方法来获取数组中的所有这些字符,以便我可以做这样的事情:

for regexChar in regexCharacterArray{
    myCombinedRegex = myCombinedRegex.replaceOccurences(of: regexChar, with: "\\" + regexChar)
}

1 个答案:

答案 0 :(得分:2)

是的,有NSRegularExpression.escapedPattern(for:)

  

通过添加反斜杠转义符来返回一个字符串,以保护任何与模式元字符匹配的字符。

示例:

let escaped = NSRegularExpression.escapedPattern(for: "[*]+")
print(escaped) // \[\*]\+