2013-06-27 3 views
4

나는 가능한 모든 문자를 포함 할 수있는 java.lang.String을 가지고 있습니다. 문자열을 쉽게 위생 처리 할 수있는 방법이 있습니까? 예를 들어 추가 할 수있는 클래스가 있습니까? "모든 위험한 문자를 제거하십시오. 나중에 java.util.regex.Matcher 또는 regex 처리 (예 : $, ^, ...)?regexp에서 문자열을 살균하는 방법

+0

너무 복잡하기 때문에 문자열을 구문 분석하는 대신 Pattern.match (string)의 인수로 문자열을 사용하는 것이 좋습니다. – morgano

+0

또한 인용해도 괜찮겠습니까? http://stackoverflow.com/questions/60160/how-to-escape-text-for-regular-expression-in-java –

답변

15

당신은 정규식에 대한 문자열을 탈출

Pattern.quote(string); 

를 사용할 수 있습니다.

5

\Q..\E 이스케이프 시퀀스를 사용할 수도 있습니다.

다음은 Metacharacters Inside Character Classes의 예입니다.

\Q..\E 쌍 안에있는 모든 것을 리터럴로 간주합니다.

+2

문자열의 일부인 '\ E'의 위험이 있습니다. 이스케이프 시퀀스가 ​​종료됩니다 . hsz의 대답을 사용하면 안전합니다. – jlordo

관련 문제