Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как исключить целое слово в регулярном выражении
 
 автор: GetAnswer   (29.06.2006 в 07:17)
 
 

Как исключить именно целое слово в регулярном выражении а не набор символов.
Например если написать [^целое_слово], то функция подумает что надо исключить не слово "целое_слово",а набор символов "ц" "е" "л" "о" "е" "_" "с" "л" "о" "в" "о".

Как это можно осуществить, уже голову сломал.

   
 
 автор: kasmanaft   (29.06.2006 в 11:11)   письмо автору
 
   для: GetAnswer   (29.06.2006 в 07:17)
 

вроде бы вот так
[^(целое_слово)]

   
 
 автор: cheops   (29.06.2006 в 12:03)   письмо автору
 
   для: GetAnswer   (29.06.2006 в 07:17)
 

В таких случаях обычно прибегают к негативной опережающей проверке, допустим нужно искать целое_слово в начале строки и если оно там найдено, то считать, что регулярное выражение не соответствует строке. Тогда можно поступить следующим образом
<?php
  $str 
"целое_слово";
  
$pattern "|^(?!целое_слово).*|";
  if(
preg_match($pattern$str)) echo "Всё нормально<br>";
  else echo(
"Стоп, в начале строки найдено целое слово<br>");
  
$str "1целое_слово";
  if(
preg_match($pattern$str)) echo "Всё нормально<br>";
  else echo(
"Стоп, в начале строки найдено целое слово<br>");
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования