|
|
|
| на входе есть код, работает кривая библа, которая принимает только регулярные...
мне надо исключить несколько пефиксов.
например,
no1, no2, no3, no4 - исключить
`^[^(?:no1|no2|no3|no4)]`uis - как-то в таком духе
т.е. чтоб вернул false если код будет no1**, no2**, no3**
и вернул true, если yes** - или что-то в этом роде..
|
| |
|
|
|
|
|
|
|
для: а-я
(17.09.2011 в 13:35)
| | Попробуйте следующее регулярное выражение
| |
|
|
|
|
|
|
|
для: cheops
(17.09.2011 в 13:42)
| | разве ^ - в таком виде не говорит, что это начало строки.. [^ ] - в таком виде, говорит, чего не должно быть, вернее каких символов. мне тут не найти надо.. а исключить.. все же попробую, извиняюсь , если ошибаюсь. | |
|
|
|
|
|
|
|
для: cheops
(17.09.2011 в 13:42)
| | как я и думал.. работает, но наоборот)
т.е. мне надо если есть такие префиксы, то вернуть false.
т.е.т.е. если есть такие префиксы, то не брать код. | |
|
|
|
|
|
|
|
для: а-я
(17.09.2011 в 13:56)
| | А, понятно, тогда лучше воспользоваться опережающей негативной проверкой
<?php
$pattern = "#^(?!no1|no2|no3|no4).*?#";
$text = "Нужно проверить первое слово строки.";
if(preg_match($pattern, $text)) echo "нет префикса";
else echo "есть префикс";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.09.2011 в 17:54)
| | Супер!) спасибо..) | |
|
|
|
|
|
|
|
для: cheops
(17.09.2011 в 17:54)
| | доброго времени суток.
А как можно сделать выборку по этим данным?
<?php
$pattern = "#^((?!no1|no2|no3|no4)) .*?#";
$text = "Нужно проверить первое слово строки.";
if(preg_match($pattern, $text, $m))
print_r($m);
?>
|
Ничего нет. Нужно вернуть первое слово которое не равно no1 и no2 и no3 и no4 | |
|
|
|
|
|
|
|
для: а-я
(05.06.2013 в 22:21)
| | ^(?<!no1|no2|no3)(.+?)(?:\s).*
http://phpfiddle.org/lite/code/nv5-4xh | |
|
|
|
|
|
|
|
для: Deed
(06.06.2013 в 18:57)
| | Благодарю =)) | |
|
|
|