2012-09-21 2 views
0

정규식을 연구 중이며 문제가 있습니다. 오류 문자열을 감지하는 정규식이 필요합니다. 올바른 문자열은 단일 백 슬래시 (\)를 포함 할 수 없지만 이중 백 슬래시 (\\)를 포함 할 수 있으며, (\ t, \ r, \ f, \ b, ...)를 포함 할 수 있습니다. 예 : 정규식은이 문자열과 일치해야합니다 '이것은 오류 문자열입니다. \Java의 정규 표현식이 단일 백 슬래시로 문자열을 감지합니다.

+0

무엇이 질문입니까? 제 질문은 당신이 시도한 것이 무엇입니까? – gigadot

답변

0

일치하는 올바른 문자열의 경우,이 시도 :

private static final Pattern MY_PATTERN = 
       Pattern.compile("^((\\\\[tbnrt'\"\\\\])|(\\\\u\\d{4})|[^\\\\])+$"); 

: ahother 손에

^((\\[tbnrt'"\\])|(\\u\d{4})|[^\\])+$ 

을, 당신은 표현을 피하기 위해 Pattern의 상수를 사용하는 그런 일을 할 때마다 다시 컴파일해야합니다 그리고 상수를 사용하십시오 :

MY_PATTERN.matcher(testString).matches(); // true if don't have errors 
0

제대로 벗어날 필요가 있습니다. \\\\을 사용하여 \\과 일치시킵니다.

관련 문제