2015-01-13 2 views
0

나는 다음과 같은 코드를 작성했습니다스칼라 정규식 닫히지 않은 문자 에러

내 xml 파일에 태그를 감지하기 위해 정규식을 정의하려고 :

val regex = """<!DOCTYPE[^>[]*(\[[^]]*\])?>""".r 

하지만 나에게 다음과 같은 오류를 제공을

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 27 
<!DOCTYPE[^>[]*(\[[^]]*\])?> 
         ^

내가 뭘 잘못하고 있니?

답변

1
<!DOCTYPE[^>[]*(\[[^]]*\])?> 
      ↑  ↑ 

당신은 세트 내부의 ][ 탈출해야합니다

<!DOCTYPE[^>\[]*(\[[^\]]*\])?> 
1

문자 클래스 안에 ], [이 존재합니다.

val regex = """<!DOCTYPE[^>\[]*(\[[^\]]*\])?>""".r