это можно сделать, используя только одно регулярное выражение?
Редактировать: Пожалуйста, не жалуйтесь на мой разбор HTML :) Та же самая ситуация может быть воспроизведена простым текстом:
Предполагаемая исходная строка:
Lorem 1 ipsum. Lorem 2 ipsum TOKEN
foo. Lorem 3 ipsum
Предполагаемая исходная строка HTML версия:
<div id="entry-1">Lorem ipsum</div>
<div id="entry-2">Lorem ipsum TOKEN</div>
<div id="entry-3">Lorem ipsum</div>
Что я хочу получить:
2 , потому что это «Lorem ipsum» содержит токен.
Я пытаюсь использовать его: /([0-9]+).*TOKEN/sm
, но я получаю 1, потому что он начинает искать TOKEN после нахождения первой «цифры», то есть1.
С помощью двух разделенных регулярных выражений regex / preg_match это легко, но мне интересно, можно ли улучшить этот подход.
Заранее спасибо за вашу помощь:)