Ну, я застрял, я не могу найти правильную форму для RegEx для предоставления PHP preg_match.Поиск наличия символов или строк из разрешенных
У меня есть две строки. Скажите "mdo"
и "o"
, но они могут быть действительно случайными.
У меня есть словарь разрешенных символов и строк.
Для примера допустимыми символами являются "a-gm0-9"
, а допустимые строки: "do"
и "si"
.
ЦЕЛЬ
Я пытаюсь проверить, что строка ввода не содержит какой-либо символ или строку, но те, в словаре, без учета регистра.
Так что случай "mdo"
не соответствует, потому что m
разрешен так же, как строка do
. Не то же самое для o
, который имеет o
, который не является разрешенным символом и который не содержит всю допустимую строку do
.
Моя борющийся причина
Это нормально отрицать [^a-gm0-9]
и (?!do|si)
, но то, что я не могу добиться того, чтобы поместить их в один регулярное выражение, чтобы применить следующий PHP код:
<?php
$inputStr = 'mdo';
$rex = '/?????/i'; // the question subject
// if disallowed chars/strings are found...
if(preg_match($regex, $inputStr) == 1)
return false; // the $inputStr is not valid
return true;
?>
Потому что две каскадные preg_matches нарушают логику и не работают.
Как смешивать проверку чар и проверять группы в «И» в одном регулярном выражении? Их позиции не имеют значения.
Проще проверить допустимые символы и подстроки и свести на нет функцию preg_match в условии if. –
Основная проблема (я думаю) заключается в том, что «делать» и «си» оба являются нераскрытыми символами ... – Random