Самое короткое совпадение +1

Рейтинг: 0Ответов: 1Опубликовано: 14.04.2015

Хочу выделить самое короткое совпадение, но только чтобы он брал не первый div, а после него идущий.

Вот например регулярка для выделения самого первого совпадение. А мне нужно на +1 больше

(?<=item_description)[\w\W]*?(?=</div>)


 <div class="item_description">
                Описание объявы
                    <script type="text/javascript">
                        </script>

                                </div>

Ответы

▲ 4

Еще один герой, пытающийся парсить HTML регулярными выражениями.

Просто не нужно этого делать. Грамматика HTML нерегулярна(2 уровень) и стоит просто взять любой DOM или XML парсер. Все.

СТОЙ!

P.S. ТС не подумай ничего личного, просто это реально плохая идея и расхожее заблуждение, треды с которым всплывают постоянно(за сегодня было два) и которые мне уже порядком поднадоели. Вот скажем js однострочник который легко вытащит "Описание объявы" из первого diva в этом HTML.

var text = document.getElementsByClassName("item_description")[0].childNodes[0].nodeValue;

Это ведь проще чем пытаться вот этим:

<\/?([A-Za-z][^\s>\/]*)(?:=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)|[^>])*(?:>|$)

Вытащить теги, например, из такой конструкции:

<script> a<b; if(div>0) alert("</div>"); </script>