Автор Тема: Отрицание слова  (Прочитано 2831 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Boatman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Отрицание слова
« : 04 Августа 2002, 10:59:00 »
Как сделать отрицание целого слова? с отдельными символами понятно
[^a-z]
А что нибудь типа ^(слово)?
Что-то я торможу наверное

ю юю

  • Гость
Отрицание слова
« Ответ #1 : 05 Августа 2002, 15:25:39 »
$_=\' test \';
if(m/^\\s(?!\\btest\\b)\\S/){
   print "$_\\n";
}

$_=\' test2 \';
if(m/^\\s(?!\\btest\\b).*\\s/){
   print "$_\\n";
}

$_=\'ю юю  умныйдурак O KAK\';
if(m/ю юю(?!.*дурак).*/){
   print "$_\\n";
}

$_=\'ю юю  умный О КАК\';
if(m/ю юю(?!.*дурак).*/){
   print "$_\\n";
}

тут на задачу нужно смотреть!

Или вас интересовал такой тривиальный вопрос
[^a-zA-z]+


$_=\'word\';
if (/[^a-zA-z]+/){
   print $_;
}
$_=\'123456\';
if (/[^a-zA-z]+/){
   print $_;
}

Да если вы скажите ююю дурак я даже спорить не буду :)

Оффлайн Boatman

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 50
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Отрицание слова
« Ответ #2 : 05 Августа 2002, 22:28:55 »
Я не буду унижаться до перебранки с хамами, а для  нормальных людей поясню - нужен  шаблон типа «НЕ (определенное_слово)» например, чтобы если в строке нет слова «идиот».

ююю

  • Гость
Отрицание слова
« Ответ #3 : 05 Августа 2002, 23:08:28 »
>нужен шаблон типа «НЕ (определенное_слово)» например, чтобы если в строке нет слова «идиот».



Вот он


$_=\'ю юю умный О КАК\';
if(m/ю юю(?!.*дурак).*/){
print "$_\\n";
}

ююю

  • Гость
Отрицание слова
« Ответ #4 : 05 Августа 2002, 23:11:52 »
Ну или так
$_=\'умный О КАК\';
if(m/^(?!.*дурак).*/){
print "$_\\n";
}

ПС А где вы видеите проблему с хамами :) Или расписыватся в собственной глупости(что я и зделала ) вы считаете хамством Ну тогда извените

Unregistered

  • Гость
Отрицание слова
« Ответ #5 : 05 Августа 2002, 23:22:55 »
Да можете поинттерисоватся такими онструкциями
(?!шаблон)
(?=шаблон)

Unregistered

  • Гость
Отрицание слова
« Ответ #6 : 14 Августа 2002, 11:43:46 »
Мне кажется, можно пойти методом "от противного", то есть проверять ЕСТЬ ли в строке данное слово. Это же проще! Например, проверяем слово "круг":
if($my_text =~ /круг/){
&krug_yes;
}else{
&krug_no;
}

Оффлайн dymka

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Отрицание слова
« Ответ #7 : 14 Августа 2002, 13:47:34 »
есть же конструкция !~ ...
$string = \'I am a good boy\';
print "YES" if $string !~ /idiot/;
напечатает YES, т.к. в строке нет слова idiot.
Или
print "YES" unless $string =~ /idiot/;
тот же результат...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28