RegexKitLite проблема с началом строки - PullRequest
1 голос
/ 11 августа 2011

Я пытаюсь заменить символ НЕ В НАЧАЛЕ СТРОКИ, а за ним следует другой символ, используя regexKitLite.

thisPlate = [sBasePlate 
             stringByReplacingOccurrencesOfRegex:[NSString stringWithFormat:@"([^\\^]%@)", thisChar] 
             withString:[NSString stringWithFormat:@"\1%@", thisRep]
             ];

Если sBasePlate равно "temp"тогда thisPlate устанавливается на emp , но я ожидаю, что оно будет teemp

Так что я пытаюсь заменить НЕЗАПУСК СТРОКИ, сопровождаемый thisChar , с тем, что было сопоставлено с последующим thisRep .

Я неправильно понял свои обратные ссылки?Потому что это то, чего не хватает.Он добавляет thisRep , но игнорирует начальное совпадение и не возвращает его с помощью \ 1

Извините, если я сделал что-то действительно глупое и очевидное, этомое первое приложение.

1 Ответ

1 голос
/ 11 августа 2011

Правильно, я решил это.Я ненавижу отвечать на свои вопросы, но кто-то другой может совершить ту же ошибку, что и я, поэтому большая глупая очевидная вещь, которую я пропустил ...

обратные ссылки должны быть знаками $.Вот как должна быть написана эта строка.

Раздражительно, в документации здесь говорится, что обратная ссылка должна быть "\ n":

http://regexkit.sourceforge.net/RegexKitLite/

Но пример в другом месте показывает$ п.Я должен был догадаться об этом.Ну что ж.

...