這是其中一個問題已經被提出並回答了上百次,但我很難適應其他解決方案以滿足我的需求。Java和正則表達式:匹配沒有特定字符的子字符串
在我的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 [email protected]" Should match
"Non-letter-censored string with [email protected]" Should not match
任何提示,讓我突然在這個正確的方向?
我認爲pro *!#過濾器非常棒@%@ @主意,它們幫助我們保護我們免受骯髒的抨擊充滿猥褻的評論 – Alderath 2013-02-12 09:19:33
很好玩,先生! – 2013-02-12 09:29:27