Оглянись и остановись на первом - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь решить эту проблему с помощью регулярного выражения:

1A2TestB

Получить то, что находится между 2 и B, зная, что B фиксировано и известно, 2 - это первое di git в обратном направлении, которое должно дайте мне тест

Есть ли простой способ (секретный символ) сделать это?

Я думал, что смогу сделать это с Lookbehind

(?<=\d)(.*?)B

, но неважно как бы я ни старался, я не могу получить то, что хочу.

1 Ответ

1 голос
/ 14 апреля 2020

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

\D*?(?=B)

Или, чтобы избежать пустых результатов:

\D+?(?=B)

Подробности

  • \D*? - 0 или более символов, отличных от цифр, как можно меньше
  • \D+? - 1 или более символов, кроме цифр, как можно меньше
  • (?=B) - позиция в строке сразу за ней следует B

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

...