2010-12-04 33 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