Scala Regex Unclosed字符错误

时间:2015-01-13 13:34:17

标签: regex scala

我正在尝试定义此正则表达式来检测我的xml文件中的标记

我写了以下代码:

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

但是它给了我以下错误

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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

转义字符类中的][

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

答案 1 :(得分:1)

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

你应该逃避集合中的][

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