在AS3中,我创建了一个很好的发誓过滤器例程,它可以为咒骂单词导入正则表达式列表,并将它们组合成一个正则表达式。然而,有一点我有问题的是足球队,即ARSENAL和SCUNTHORPE。
正则表达式中是否有一种方法可以阻止脏话,除非他们完成上述话语?我尝试了以下ARSENAL,但它无法正常工作:
/arse[^(nal)]/gi
问题在于我不能将字母“nal”括起来,因为它将括号视为字符而不是块。它似乎期望在“屁股”之后至少有一个额外的角色才能工作。我可以这样做,以便它允许一个而不是另一个吗?如何将信件组合在一起并说“不”?
编辑:我在Stack的其他地方找到了一些关于“负面前瞻”的讨论,但是对于这两个用例,我没有完全理解这一点......有什么想法吗?答案 0 :(得分:2)
只需使用单词anchor \b
:\bswearwordhere\b
。
当然,你必须处理那些为了规避你的f - *“ - ng规则而发明的任何工作方法,嘿。
答案 1 :(得分:1)
我不知道具体的Actionscript,但在大多数Regex引擎中你都可以使用
否定前瞻:?!
负面的背后:?<!
对于阿森纳来说:
/arse(?!nal)/gi
和Scunthorp或sHAPPYhorp:
/HAPPY(?<!sHAPPY)(?!horp)/gi
而Scunthorp将与sHAPPYhorp类似,留给读者作为一项任务。