|
Регулярные выражения. Как найти содержимое тэга
| ☑ |
0
Wobland
27.10.11
✎
10:14
|
Вот и пришло моё время знакомиться с регулярными выражениями. Что-то не всё доходит до меня. Исходная задача: получить всё, что находится внутри файла между "<HEAD>" и "</head>". если весь тэг записан в одну строку, шаблон "(<HEAD>)(.*)(</head>)" всё находит. а вот если есть перевод строки, тот же шаблон ничего не находит. зато справляется другой: "(<HEAD>)([^<]*)(</head>)". Но это не будет корректно работать при тэгах, вложенных в HEAD. Подскажите, что бы такое наколдовать РегЭкспу, чтоб он весь тэг нашёл?
|
|
1
Fragster
гуру
27.10.11
✎
10:22
|
использовать другие инструменты для парсинга html или xml, например DOM, если валидный xhtml
|
|
2
Fragster
гуру
27.10.11
✎
10:24
|
а вообще - <head>((\S|\s)*)</head>
|
|
3
Wobland
27.10.11
✎
10:24
|
(1) нет уверенности в том, что будут отсутствовать незакрытые тэги
|
|
4
Wobland
27.10.11
✎
10:25
|
(2) здорово, спасибо. а что за /S? в документации не нашёл
|
|
5
Fragster
гуру
27.10.11
✎
10:26
|
(4) пробельные и не пробельные вхождения
|
|
6
Fragster
гуру
27.10.11
✎
10:26
|
\s и \S
|
|