|
|
|
| Встала задача найти все файлы, в которых есть теги <span>, содержащие внутри себя теги <a>.
Можно ли такое сделать при помощи regexp'ов, или нужно все перелопачивать ручками?
Вот пример. Можно ли здесь найти только <span>, содержащие внутри себя теги <a>?
<span>
simple text
</span>
<a href="#">text</a>
<span>
<a href="#">text</a>
</span>
<span>
<a href="#">text</a>
</span>
<span>
simple text
</span>
|
Да, я не сказал, что выражение нужно для того, что б забить в строку поиска в любом редакторе, поддерживающем поиск по regexp (например, Eclipse или Idea) | |
|
|
|
|
|
|
|
для: barbiturat
(24.12.2009 в 18:29)
| |
<span>((?!</?span>).)*(?=<a).*?</span>
|
Замечание по поводу
>выражение нужно для того, что б забить в строку поиска в любом редакторе, поддерживающем поиск по regexp
В различных редакторах могут быть реализованы различные диалекты и механизмы регулярных выражений. Поэтому не возможно написать универсальное регулярное выражение для всех редакторов. Предложенный вам вариант был протестирован в РНР, The Regex Coach. В Expresso это выражение не работает. | |
|
|
|
|
|
|
|
для: big-trot
(24.12.2009 в 23:31)
| | Ух ты! big-trot, ты просто гений! Спасибо тебе огромнейшее!
Для себя я его немного упростил:
(?s)<span(.(?!</span))*?<a.*?</span>
|
| |
|
|
|