더 큰 정규 표현식 내부에서 리터럴 문자열로 취급되는 문자열을 인용하고 그 표현식이 POSIX Extended Regular Expressions 형식을 준수해야합니다.POSIX 확장 형식의 Java에서 정규식 텍스트를 이스케이프 처리하는 방법
이 질문은, this existing question 매우 유사하지만 그것이 내가 특별한 \Q
및 \E
마크에 의존하는 Pattern.quote()
를 사용 제안하기 때문에 대답은 나를 거기에 만족하지 않습니다 - 그 자바 정규 표현식에 의해 지원되지만 하지가 준수 할 POSIX 확장 형식으로 변환합니다.
예를 들어 one.two
이 one\.two
이 아니고 \Qone.two\E
이 아니게하려고합니다. 이 라인을 따라
그것은 한 문자로만 작동한다. –
당신은 그것을 어떻게 의미합니까? 그것은 내가 할 수있는 모든 예들에게 적용됩니다. – maaartinus
@Sean : 한 번에 한 문자 *를 대체하지만,'replaceAll()'은 문자열의 모든 문자를 반복합니다. 하지만 그 한 문자를 대체하기 위해 엄청난 양의 코드가 필요합니다. 나는 항상 Brian의 방법대로 해왔다. * 읽기 쉽다. –