|
автор: GetAnswer (29.06.2006 в 07:17) |
|
| Как исключить именно целое слово в регулярном выражении а не набор символов.
Например если написать [^целое_слово], то функция подумает что надо исключить не слово "целое_слово",а набор символов "ц" "е" "л" "о" "е" "_" "с" "л" "о" "в" "о".
Как это можно осуществить, уже голову сломал. | |
|
|
|
|
|
|
|
для: GetAnswer
(29.06.2006 в 07:17)
| | вроде бы вот так
| |
|
|
|
|
|
|
|
для: 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>");
?>
|
| |
|
|
|