Регулярные выражения — это выражения для поиска и замены текста по шаблону. Шаблон — строка символов, спецсимволов и модификаторов, описывающих правила, которым должен соответствовать разбираемый текст.
Сайт для проверки регулярных выражений: regex101.com
Пример смс: «01.01.2016 12:12 Карта 4444, баланс 12345.67 RUB. Бонус 0 RUB»
Простой шаблон для поиска баланса:
Искать баланс, только если эта смс по карте 4444:
Шаблон будет «4444.*баланс (.*?) RUB», где «.*» — любой символ 0 или больше раз. То есть, этот шаблон будет искать значение только в такой смс, в которой есть текст: «4444[любой текст]баланс [искомое значение] RUB».
Искать баланс, только если эта смс НЕ по карте 4444:
Шаблон будет «^(?!.*4444).*баланс (.*?) RUB», где «^(?!.*4444)» — проверка на текст «4444». Шаблон будет искать значение, только если в смс нет такого текста.
Спецсимволы:
Использование спецсимволов, поиск времени:
Для поиска времени в смс, если делать по первому примеру, будет «01.01.2016 (.*?) Карта». Но это неправильный шаблон, так как дата может быть любой, не только 01.01.16. Тут на помощь приходят спецсимволы: