Отцам regexp
а xpath уже не канает?
а если xml невалиден?
Regular expression
...
http://realcode.ru/regexptester/
\<div[\w\s- ]*\>(.+?)</div>
\<div[\w\s- ]*\>(.+?)</div>
а если экранированный div внутри текста будет - он его не проматчит лишний раз?
если в виде entity, то не проматчит
если там [code] то надо в регексп запихать проверку, но пока задача так не ставилась вроде бы
ну поэтому я и думаю, что xml лучше xpath матчить. Тем более, что в ту же скалу xpath встроен
но иногда надо распарсить страницу, тут уж без регексп не обойтись
хотя, слишком уж регексп жадный до ресурсов
допустим через JS пройтись по DOM страницы и вытащить содержимое div
но иногда надо распарсить страницу, тут уж без регексп не обойтисьHTML Tidy зря писали что ли? Конечно, html надо сначало сделать валидным xml, потом делать xpath
слишком уж регексп жадный до ресурсовRE2 спешит на помощь!
PIRE быстрее спешит.
говорят
Напиши на PIRE регексп, который решал бы задачу, описанную Бодрячком. Я не верю, что без lookahead-ов у тебя это получится.
<div[^>]*>.*?</div>
как достать только some text?Я чего-то не понимаю, но хочется спросить:
чем достать-то?
чем достать-то?regexp'ом
Регексп - это автомат, а не робот. Как он может что-то откуда-то достать?
Регексп - это автомат, а не роботчаще всего regexp - это функция
а доставать она умеет таким образом (TCL):
% regexp "(\[a-c\]*.*)" "abcdefgh" a b c
1
% puts "a=$a, b=$b, c=$c"
a=abcdefgh, b=abc, c=defgh
Кстати, правильно Tcl, а не TCL.
Регексп - это автомат, а не робот. Как он может что-то откуда-то достать?Думаю, все же мы тут обсуждаем практическое применение, и под регэкспом понимаем некую функцию или процедуру, которая возвращает строку|массив|объект используя регулярные выражения
~$ regexp "(\[a-c\]*.*)" "abcdefgh" a b c
regexp: command not found
string s = Regex.Match(source, @"<div[^>]*>(?<text>.*?)</div>").Groups["text"].Value;
Оставить комментарий
bav46
content = '<div fsdfds>some text</div> fsdfds </div>'как достать только some text? при условии что some text попадает под . включающим подмножество переносных символов. вообщем нужно достать все что идет до первого попадания </div>
заранее спвибо