除非他们是足球队,否则正则表达式用于查找咒骂词

时间:2012-01-13 12:15:41

标签: regex actionscript-3

在AS3中,我创建了一个很好的发誓过滤器例程,它可以为咒骂单词导入正则表达式列表,并将它们组合成一个正则表达式。然而,有一点我有问题的是足球队,即ARSENAL和SCUNTHORPE。

正则表达式中是否有一种方法可以阻止脏话,除非他们完成上述话语?我尝试了以下ARSENAL,但它无法正常工作:

/arse[^(nal)]/gi

问题在于我不能将字母“nal”括起来,因为它将括号视为字符而不是块。它似乎期望在“屁股”之后至少有一个额外的角色才能工作。我可以这样做,以便它允许一个而不是另一个吗?如何将信件组合在一起并说“不”?

编辑:我在Stack的其他地方找到了一些关于“负面前瞻”的讨论,但是对于这两个用例,我没有完全理解这一点......有什么想法吗?

2 个答案:

答案 0 :(得分:2)

只需使用单词anchor \b\bswearwordhere\b

当然,你必须处理那些为了规避你的f - *“ - ng规则而发明的任何工作方法,嘿。

答案 1 :(得分:1)

我不知道具体的Actionscript,但在大多数Regex引擎中你都可以使用

否定前瞻:?!

负面的背后:?<!

对于阿森纳来说:

/arse(?!nal)/gi 

和Scunthorp或sHAPPYhorp:

/HAPPY(?<!sHAPPY)(?!horp)/gi 

而Scunthorp将与sHAPPYhorp类似,留给读者作为一项任务。