Я использую TextWrangler grep, чтобы выполнить поиск / замену нескольких файлов и натолкнулся на стену с последним поиском / заменой, который мне нужно выполнить.Мне нужно сопоставить любой текст между ">
и первым экземпляром <br />
в строке, но совпадение не может содержать последовательность символов [xcol].Вариант regex совместим с Perl (PCRE), поэтому внешний вид должен быть фиксированной длины.
Пример текста для поиска:
<p class="x03">FooBar<br />Bar</p>
<p class="x03">FooBar [xcol]<br />Bar</p>
<p class="x06">Hello World<br />[xcol]foo[xcol]bar<br /></p>
<p class="x07">Hello World[xcol]<br />[xcol]foo[xcol]bar<br /></p>
Желательное поведение регулярного выражения:
1-я строка match ">
FooBar <br />
2-я строка не соответствует
3-я строка соответствует ">
Hello World <br />
4-я строка не соответствует
Текст между ">
и <br />
будут захвачены в группе, которая будет использоваться с функцией замены.Самым близким, что я получил, было использование следующего регулярного выражения с отрицательным прогнозом, но это не будет соответствовать 3-й строке, как требуется:
">((?!.*?\[xcol]).*?)<br />
Любая помощь или совет приветствуются.Спасибо.