繁体   English   中英

匹配不包含坏词的正则表达式

[英]Match regular expression not containing bad words

当主题不包含坏词时如何使 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' 似乎是不可能的?

^((?!\b(some|bad|words)\b).)*$

你可以用这个

^((?!some|bad|words).)*$

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM