이것은 수백 번 이상 질문을 받았지만 다른 솔루션을 내 요구에 맞추는 데 어려움을 겪고 있습니다.Java & Regex : 특정 문자가 앞에 오지 않는 부분 문자열 일치
내 Java 응용 프로그램에는 채팅 메시지의 나쁜 단어를 검열하는 방법이 있습니다. 그것은 내 말의 대부분을 위해 일하지만, 내가 제거 할 수없는 하나의 특별한 (그리고 인기있는) 저주 단어가있다. 그 단어는 "faen"(문제의 언어에서 "사탄"에 대한 단순한 현대 속어)입니다.
여러 개의 A와 E를 일치시키기 위해 "fa + e + n"패턴을 사용합니다. 그러나이 언어에서 "그 소파"또는 "그 소파"라는 단어는 "소파"입니다. 나는 [^ 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
모든 팁이에 대한 올바른 방향으로 날을 설정?
나는 프로 *! # ity 필터가 매우라고 생각합니다! % "@ 아이디어. 그들은 $에서 우릴 보호하는데 도움이됩니까? 음란물로 가득 찬 격렬한 코멘트 – Alderath
잘하셨습니다. –