How do I escape special characters in an NSString using RegexKitLite?
I'm constructing a regular expression that uses strings input by the user but the strings might contain special characters such as . \ or * and I want those to be treated as literals and not interpreted by their special meanings in the regex. I've tried this:
NSString *word = [input stringByReplacingOccurrencesOfRegex:@"(\\P{L})" withString:@"\\$1"];
but the non letter characters are converted to '$1' instead of being prefixed with a backslash. I've tried one and three backslashes in the开发者_StackOverflow中文版 second term but those give me an 'Unknown escape sequence' warning in XCode. How can I print a backslash without RegexKitLite thinking that I'm escaping the dollar sign?
Write the expression as you normally would and then replace each single backslash with two. Thus
\.
becomes
\\.
and
\\
becomes
\\\\
精彩评论