2015-01-25 3 views
4

내가 두 단어들의리스트가 있다고 가정 특정 패턴을 포함 제외한 모든 단어와 일치하고 나는 첫 번째 목록 두 번째 목록에서하지만 없음모든 단어와 일치해야합니다. character1 다시 character2 다음 character2character1 다음 : 이제 특정 패턴이 포함 된 두 번째 목록에있는 모든 단어 (하지 일치되어야하는 것들)을 가정합니다. 예를 들어 "abba", "otto", "trillion", "unfitting"등과 같은 단어가 포함되어 있습니다.정규 표현식은

정규 표현식 (\w)(\w)\2\1을 사용하면이 패턴과 쉽게 일치시킬 수 있습니다. 그리고 두 번째 목록의 모든 단어와 일치 시키려면 \w*(\w)(\w)\2\1\w*을 사용할 수 있습니다. 그러나이 패턴을 포함하는 단어를 제외한 모든 단어를 어떻게 매칭합니까?

내가 시도한 것 중 하나는 (?!\w*(\w)(\w)\2\1\w*)이지만 두 번째 목록의 첫 번째 문자와 두 번째 문자 사이의 전환과도 일치합니다. 내가 잘못한 것을 알고 있지만 무엇을 알아 내지 못하는지 알고 있습니다. 단어 경계는 시작 부분에서 단어를 테스트하는 것이 보장하기 때문에

+3

'\ b (?! w * (\ w) (\ w) \ 2 \ 1) \ w +'는 단어 경계가 당신은 처음부터 한 마디를 시험해 본다. –

+0

@Casimir 이것은 일을 했어! 고맙습니다! – Zeron

+0

@CasimiretHippolyte 귀하의 의견은 유용하고 유용한 답변처럼 보이고 (적어도 내게는 그렇게 보이는 것처럼) 가치있는 것으로 게시 할 가치가 있습니다. –

답변

1

Zeron는 일을 할 수 Casimir et Hippolyte

\b(?!\w*(\w)(\w)\2\1)\w+에서 작업 솔루션을 가져옵니다. - Casimir et Hippolyte 1 월 25 일 19:10