Сперва я подумал, что this answer будет полностью решить мою проблему, но это не так.Наименьшее возможное совпадение/nongreedy regex search
У меня есть строка URL, как этот:
http://www.someurl.com/some-text-1-0-1-0-some-other-text.htm#id_76
Я хотел бы извлечь some-other-text
так в основном, я пришел со следующим регулярным выражением:
/0-(.*)\.htm/
К сожалению, это соответствует 1-0-some-other-text
потому, что регулярное выражение жадные. Мне не удастся сделать это с помощью .*?
, это ничего не меняет, как вы можете видеть here.
Я также пробовал с модификатором U
, но это не помогло.
Почему «неразветвленный» отзыв не работает?
Вы попробовали '0 - ([^ 0] *) \. Htm'? Если вы не ожидаете, что на вашем входе больше 0, это может решить проблему. –
@stribizhev Регулярное выражение не будет работать, если мой текст является 's0me-text', например. – Delgan
Как насчет ['0- ((?!. * 0-). *) \ .htm'] (https://regex101.com/r/fA7aA1/2), то? Он может работать для отдельных строк. Иначе вам понадобится умеренный жадный токен. –