2010-12-04 57 views
3

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

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

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

+0

感谢乔 - 我更新的问题。 – 2010-12-05 05:34:56

回答

7

按照通常的方式编写表达式,然后用两个替换每个单个反斜杠。因此

\. 

成为

\\. 

\\ 

成为

\\\\ 
+0

谢谢马修。在这种情况下需要四个反斜杠。不知道为什么我没有尝试它。 – 2010-12-05 07:45:27