Вот забавная проблема с регулярными выражениями. Напишите одно регулярное выражение, которое получит результаты для первой группы как «путь / к / файлу» для следующих строк примера:
- путь / к / файлу / foo = 1 / bar.txt
- путь / к / файлу / foo = 1 / bar = 2 / baz.txt
- путь / к / файлу / foo.txt
Чтобы объяснить, я хочу совпадать до финального форварда sla sh до первого появления '='.
Мне удалось сопоставить регулярное выражение с примером строки один (^.*)\/(.*)=
, но он захватывает путь / к / file / foo = 1 из строки примера 2 - это не так, как задумано, я не хочу увидеть часть пути с '='.
Я могу использовать (^.*)\/(.*)=(.*)=
для решения примера 2, но это не масштабируется для других примеров.
Пример 3 достаточно прост для захвата с помощью (^.*)\/
Приятно иметь возможность сопоставлять строку 3, но у меня есть способ легко решить эту проблему в моем коде.
Спасибо за вашу помощь, и я с нетерпением жду, чтобы узнать больше о регулярных выражениях.