регулярное выражение - разбор шаблона ветки - PullRequest
1 голос
/ 25 июля 2011

Мне нужно получить значение всех атрибутов title в html-странице. Я использую шаблоны веток, поэтому исходный код может быть таким:

<a href="#" title="some {% func "smth" %} text">

Я использую этот код для получения значения заголовка:

/<[a-z]+[^>]*\s+(title|alt)\s*=\s*("[^"]*")/ 

но когда заголовок имеет {% func "smth" %}, я получаю следующую строку:

"some {% func "

как получить полную строку?

Обновление: DOM не является решением, поскольку он будет интерпретировать приведенную выше ссылку как

<a href="#" title="some {% func " smth text></a>

1 Ответ

1 голос
/ 25 июля 2011

Мне кажется, это работает:

/<[a-z]+[^>]*\s+(title|alt)\s*=\s*(".*")/ 

Проблема заключалась в том, что [^"] блокирует любые кавычки, такие как "smth".Закрывающий " в вашем регулярном выражении найдет конец вашей строки просто отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...