Создать регулярное выражение для соответствия пользовательскому формату - PullRequest
2 голосов
/ 10 ноября 2010

Я пытаюсь создать регулярное выражение, которое соответствует, когда строка начинается с 1 или более букв алфавита, за которыми следуют ровно 1 ? и заканчивается 1 или более символами алфавита

Что у меня есть до сих пор

[A-Za-z]+\?{1}[A-Za-z]+

, но это вызывает сбой моей программы.Есть идеи?Спасибо за любые ответы.

ОБНОВЛЕНО

Вот исключение:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'Can't do regex matching, reason: (Can't open pattern U_REGEX_RULE_SYNTAX 
(string fe?ing, pattern [A-Za-z]+?{1}[A-Za-z]+, case 0, canon 0))'

Кажется, что игнорирует escape-символ для?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2010

Это выглядит правильно. Может быть, снять "{1}", но он работает с выражениями Perl при попытке.

Попробуйте сделать это: если вы поставите "?" в класс персонажа, чтобы посмотреть, сможете ли вы выйти из аварии.

[A-Za-z]+[?][A-Za-z]+
1 голос
/ 10 ноября 2010

Попробуйте использовать 2 обратных слэша.

@"[A-Za-z]+\\?[A-Za-z]+"

Один обратный слеш для экранирования \ для компилятора как строкового литерала, другой для экранирования ? для механизма регулярных выражений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...