【发布时间】:2015-02-03 14:09:10
【问题描述】:
我有一些清单:
$bad_words = ['aaa', 'bbb', 'ccc']
$good_words= ['__aaa', 'bbb==', '#ccc==']
通过这个列表,我会生成这些规则:
$rules = ['/((?<!__)aaa)/', '/(bbb(?!==))/', '/((?<!#)ccc(?!==))/']
问题:ccc 规则不正确 (https://regex101.com/r/cC3hY7/1):它必须找到像 #ccc、#ccc-- 或 ccc== 这样的字符串,并且只排除像 #ccc== 这样的字符串
如何解决?
【问题讨论】:
-
这是用作审查过滤器吗?
-
你之前读过this question吗?
-
同意杰克。但这就是你想要的吗? ((?
-
@trainoasis 谢谢!但我认为以下解决方案更好:更容易生成
标签: php regex whitelist blacklist