开发者

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

\\\\
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜