正则表达式以单词(!)

时间:2018-07-16 09:20:49

标签: c# .net regex

我正在尝试创建一个正则表达式,以停止“忘记”一词。.智能alecs仍在使用:

"f o r g e t you", and
"f o r
g e t you" (using \r\n)

在我用

捕获冒犯性单词之前

$(?<!(FORGET[\s]*))

我正在尝试使用$(<!(F\s*O\s*R\s*G\s*E\s*T))-以\ s *的方式捕获字母之间的空格0次或更多次的想法过程……A,这是行不通的。希望我离我们不太远,但是我希望能获得一些帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

例如,在聊天室中查找被禁词的一种方法是创建包含所有可能表示形式(包括词法)的字典,并将特殊字符/序列(例如“ @”)转换为“ a”或“ JI”。 Л'。

到目前为止我发现的最好方式:

  1. 执行特殊序列(@-> a)的转换。
  2. 将仅包含字母的字符连接成一条大行,以除去重复字符(baaaaaaneeeedddd)。
  3. 通过此合并构建后缀树。
  4. 在后缀树中查找被禁止的子序列。
  5. 对10万条消息进行测试。
  6. 修复一些常见的错误。

这是相当有效和最佳的验证方式,可以在客户端上执行,而且很难组合单词以使假阳性命中率。