如何使用RegexKitLite转义NSString中的特殊字符?

时间:2010-12-04 16:50:31

标签: objective-c cocoa regexkitlite

我正在构建一个使用用户输入的字符串的正则表达式,但字符串可能包含特殊字符,例如。 \或*我希望那些被视为文字而不是由它们在正则表达式中的特殊含义来解释。我试过这个:

NSString *word = [input stringByReplacingOccurrencesOfRegex:@"(\\P{L})" withString:@"\\$1"];

但非字母字符转换为'$ 1'而不是以反斜杠为前缀。我在第二个学期尝试了一个和三个反斜杠但是那些在XCode中给了我一个'未知的转义序列'警告。如果没有RegexKitLite认为我正在逃避美元符号,我该如何打印反斜杠?

1 个答案:

答案 0 :(得分:7)

像往常一样编写表达式,然后用两个替换每个反斜杠。因此

\. 

成为

\\. 

\\ 

成为

\\\\