这是已经被问过并回答了数百次的问题之一,但我很难根据自己的需要调整其他解决方案。
在我的 Java 应用程序中,我有一种方法可以审查聊天消息中的坏词。它适用于我的大部分话,但有一个特殊的(和流行的)诅咒词我似乎无法摆脱。这个词是“faen”(在所讨论的语言中,这只是“撒旦”的现代俚语)。
使用模式“fa+e+n”来匹配多个 A 和 E 确实有效;然而,在这种语言中,“那个沙发”或“那个沙发”的词是“沙发”。我尝试了很多不同的方法,使用 [^so] 和 (?!=so) 的变体,但到目前为止,我还没有找到一种方法来匹配一个而不是另一个。
这里的真正目标是能够匹配坏词,不管元音的数量是多少,也不管单词的组成部分之间有没有任何非字母。
以下是我正在尝试做的一些示例:
"String containing faen" Should match
"String containing sofaen" Should not match
"Non-letter-censored string with f-a@a-e.n" Should match
"Non-letter-censored string with sof-a@a-e.n" Should not match
有什么提示可以让我朝着正确的方向前进吗?