2013-03-09 5 views
1

정확한 구문을 어떻게 제외 할 수 있습니까?!정규 표현식에서 정확한 구문을 제외하십시오

a sentence with hello phrase 

하지만 먼저 내가 이것을 사용에서이

a sentence with oehll phrase 

일치 :

예를 들어 내가 정규식 코드 안에이 일치하지 원하는

^([^hello]*)$ 

하지만, 그것이 가지고있는 유일한 문제는 문자 "h", "e", "l"과 "o"를 제외한 것입니다. rm "hello")!

나는 이것에 대해 많은 기사를 읽었고 \ b, (?! ...) 및 (...)을 내가 가정 할 수있는 어떤 방식 으로든 사용했지만 나는 할 수 없다! 다음과 같은 정규 표현식을 사용

+3

가능한 중복 [정규식에서 특정 단어를 부정하는 방법은?] (http://stackoverflow.com/questions/1240275/how-to-negate-specific-word-in-regex) –

+0

예,하지만 그들은 작업! 아마도 미리보기 및/또는 뒤를 바라 볼 수 없습니다! 내가 무엇을 할 수 있을지? –

+2

@RuAlv를 사용하면 정규 표현식/언어/도구를 사용하는 것으로 시작할 수 있습니다. 그리고 왜 'hello'와 일치하는 결과를 부정 할 수 없습니까? 그것이 최선의 방법입니다. – Qtax

답변

0

봅니다 :

이 불행히도와 문장을 제외합니다 단지 해킹이 표현
^.*((\W|^)hello(\W|$)){0}.*$ 

"안녕하세요"즉 내부에 내장. (예를 들어, "인사와 문장 밖으로 문구")

대안 : 당신이 원하는 문구와 문장을 검색하려면 다음을 사용

^.*((\W|^)hello(\W|$)).*$ 

그리고 그냥 문구가 포함 된 문장을 삭제합니다.

면책 조항 : 또한이 표현은 텍스트 파일에서 원시 문장을 처리하고 영어 문장을 처리하지 않는다고 가정하여 작성되었습니다. 실제 문장으로 작업하려면 먼저 텍스트를 별도의 문장으로 토큰 화 한 다음 비슷한 문장으로 각 문장을 테스트 해 보는 것이 좋습니다.

관련 문제