Я хочу найти {{ upc }}
и начать захват не с <div
непосредственно перед матчем, а со 2-го <div
перед матчем, т.е. <div class="form-group">
, и захватывать не до первого </div>
после матча, а со 2-го, т.е. до закрытия </div>
начало следующего <div class="form-group">
(в зависимости от того, как на это посмотреть)
Вот пример шаблона HTML/Twig, который я хочу найти и заменить.
<div class="form-group">
<label class="col-sm-2 control-label" for="input-sku"><span data-toggle="tooltip" title="{{ help_sku }}">{{ entry_sku }}</span></label>
<div class="col-sm-10">
<input type="text" name="sku" value="{{ sku }}" placeholder="{{ entry_sku }}" id="input-sku" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="input-upc"><span data-toggle="tooltip" title="{{ help_upc }}">{{ entry_upc }}</span></label>
<div class="col-sm-10">
<input type="text" name="upc" value="{{ upc }}" placeholder="{{ entry_upc }}" id="input-upc" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="input-ean"><span data-toggle="tooltip" title="{{ help_ean }}">{{ entry_ean }}</span></label>
<div class="col-sm-10">
<input type="text" name="ean" value="{{ ean }}" placeholder="{{ entry_ean }}" id="input-ean" class="form-control"/>
</div>
</div>
Ожидаемое соответствие регулярному выражению выглядит следующим образом:
<div class="form-group">
<label class="col-sm-2 control-label" for="input-upc"><span data-toggle="tooltip" title="{{ help_upc }}">{{ entry_upc }}</span></label>
<div class="col-sm-10">
<input type="text" name="upc" value="{{ upc }}" placeholder="{{ entry_upc }}" id="input-upc" class="form-control"/>
</div>
</div>
Вся помощь приветствуется. Спасибо.
/^.*(?={{ sku }}).*/gm
в регулярном выражении101, хотя это, вероятно, слишком расплывчато для отправной точки. Я буду продолжать возиться, и если я решу, отправьте это здесь, но я подозреваю, что мастер регулярных выражений опередит меня! - person Trent Renshaw   schedule 20.04.2020