Как я могу избежать специальных символов в NSString, используя RegexKitLite?

Я создаю регулярное выражение, которое использует строки, введенные пользователем, но строки могут содержать специальные символы, такие как. \ или * и я хочу, чтобы они трактовались как литералы и не интерпретировались их особыми значениями в регулярном выражении. Я пробовал это:

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

но не буквенные символы преобразуются в $1 вместо префикса с обратной косой чертой. Я пробовал одну и три обратных косых черты во втором семестре, но они дают мне предупреждение "Неизвестная escape-последовательность" в XCode. Как я могу распечатать обратную косую черту без RegexKitLite, думая, что я избегаю знака доллара?

1 ответ

Решение

Напишите выражение, как обычно, а затем замените каждый обратный слеш двумя. таким образом

\. 

становится

\\. 

а также

\\ 

становится

\\\\
Другие вопросы по тегам