我使用以下正则表达式来检查字符串是否包含以下任何单词:
/(work|hello|yes)/
如何反转它,检查字符串是否不包含以下任何单词?
if (preg_match('/(work|hello|yes)/', trim(strtolower($mystring)))) {
}
注意我不想使用!preg_match
答案 0 :(得分:1)
如果字符串不包含单词,则可以使用否定looakhead来匹配字符串:
^(?!.*?(?:work|hello|yes)).*
也可能想要在单词之前/之后添加\b
word boundaries。
如果是多行输入,请使用s
(PCRE_DOTALL)flag使.
也匹配换行符。
答案 1 :(得分:0)
您错过了'
preg_match的第一个参数
$mystring='hello world';
if (preg_match('/(work|hello|yes)/', trim(strtolower($mystring)))) {
echo 'Yes'; //Result is yes
}else{
echo 'No';
}
答案 2 :(得分:0)
试试这个:
$match = '/work|hello|yes/';
$myString = trim(strtolower($mystring));
if (preg_match($match,$myString)) {
}