Forum Webscript.Ru

Программирование => Perl => Тема начата: FANTAzeRus от 03 Декабря 2003, 20:27:09

Название: Perl vs Регулярные выражения
Отправлено: FANTAzeRus от 03 Декабря 2003, 20:27:09
Имеем: два тега

и


Нужно: проверить есть ли что нибудь внутри, кроме других тэгов и пробельных символов

Помогите плиз!!! Горю!!!
Название: Perl vs Регулярные выражения
Отправлено: NeoNox от 03 Декабря 2003, 20:40:32
Вариант:
if ($text =~ /

.+?[^<> ]<\\/p>/){print "Ok!"}

Название: Perl vs Регулярные выражения
Отправлено: FANTAzeRus от 03 Декабря 2003, 21:04:25
$text="

g e g r

";
if ($text =~ /

.+?[^<> ]<\\/p>/) {print "Ok!"}

Возвращает ЛОЖЬ!!!!

Название: Perl vs Регулярные выражения
Отправлено: Chs от 03 Декабря 2003, 22:59:29
Еще вариант:
if ($text =~ /

.*?<\\/p>.*/) {print "Ok!"}

Название: Perl vs Регулярные выражения
Отправлено: FANTAzeRus от 03 Декабря 2003, 23:30:24
2 Chs: Ты сам то пробовал этот вариант?????

$text="

"; Возвращает True
$text="

"; Возвращает True

А должно быть False!!!
Название: Perl vs Регулярные выражения
Отправлено: Chs от 03 Декабря 2003, 23:50:05
Ну постановку невнимательно прочитал - извиняй.:)

if ($text =~ /

(.+?)<\\/p>.*/)
 {
   $t = $1;
   $t =~ s/<[^>]+>//g;
   print "Ok!" if ($t =~ /\\S/);
 }

Название: Perl vs Регулярные выражения
Отправлено: NeoNox от 04 Декабря 2003, 10:59:07
Цитировать
FANTAzeRus:
Нужно: проверить есть ли что нибудь внутри, кроме других тэгов и пробельных символов

Цитировать
FANTAzeRus:
$text="

g e g r

"; if ($text =~ /

.+?[^<> ]<\\/p>/) {print "Ok!"}

Возвращает ЛОЖЬ!!!!


У тебя же между тегами есть пробелы...
Ты определись что тебе нужно.