Получить подстроки из строки с помощью регулярного выражения - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь получить подстроки из большого, используя RegEx.Формат подстрок выглядит следующим образом:

  • Начинается с номера 00-99, за которым следует знак равенства =.
  • Может содержать хотя бы один символ.Любой персонаж.
  • Заканчивается подчеркиванием '_'.

Пример подстроки:

01=#010.0000#001.0000#+10.0#AA_
02=#020.0000#002.0000#+20.0#BB_

Пример полной строки:

01=#010.0000#001.0000#+10.0#AA_02=#020.0000#002.0000#+20.0#BB_

Я пыталсяэто выражение, но в результате я получаю полную строку.

^\d{2}=.+_$

Я что-то упустил.Любая помощь?

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете использовать

\d{2}=.*?_(?=\d{2}=|$)

См. Демонстрационную версию regex

Вам также может не потребоваться вводить цифры до матча с (?<!\d) отрицательным взглядом сзади:

(?<!\d)\d{2}=.*?_(?=\d{2}=|$)

Шаблон \d{2}=.*?_(?=\d{2}=|$) соответствует 2 цифрам =, а затем любым 0+ символам, кроме символов перевода строки, как можно меньше, вплоть до первого _, который имеет две цифры и = после него или в конце строки.

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