Проблема определения шаблона для NSRegularExpression...?

Я относительно новичок в NSRegularExpression и просто не могу придумать шаблон для поиска строки в строке.... вот строка...

#@$294@001@[12345-678[123-456-7@15665@2

Я хочу извлечь строку..

@001@[12345-678[123-456-7@

для получения дополнительной информации я знаю, что будет 3 цифры (например, 001) между двумя @ и 20 символов между двумя последними @ "S..

Я пробовал n комбинаций, но ничего не получается. любая помощь приветствуется.

2 ответа

Решение

Как насчет чего-то вроде этого:

@[0-9]{3}@.{20}@

Если вы знаете, что 20 символов всегда будут состоять из цифр, [ а также -, ваш шаблон станет:

@[0-9]{3}@[0-9\[\-]{20}@

Будьте осторожны с обратными слешами: при использовании создайте шаблон со строковым литералом (@"..."), вам необходимо добавить дополнительный обратный слеш перед каждым обратным слешем.

Вы можете протестировать шаблоны NSRegularExpression, не перекомпилируя каждый раз, используя RegexTester https://github.com/liyanage/regextester

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