当主题不包含不良词时,如何通过preg_match?这是相反的:
$pattern = '/\b(some|bad|words)\b/i';
function matches($pattern, $value) {
echo "matches $pattern: $value, matches: " . preg_match($pattern, $value)."\n";
}
matches($pattern, "This should match");
matches($pattern, "This bad string should not match");
到目前为止,我发现的所有示例都相反:当主题包含不良单词时,它们匹配。
当它不包含坏词时,我希望它匹配。
尝试了几种组合和搜索,但找不到解决方案。使用'?!' '\ b'似乎不可能?
答案 0 :(得分:0)
^((?!\b(some|bad|words)\b).)*$
答案 1 :(得分:-1)
答案 2 :(得分:-1)
如果您将preg_match()的结果用作标志,并且您很在意
关于不是在字符串中包含坏词,那么最快的方法是
^(?!.*\b(some|bad|words)\b)
扩展
^ # BOS
(?! # Negative lookahead, a pseudo atomic group
.* \b
( some | bad | words ) # (1)
\b
)