我正在尝试定义此正则表达式来检测我的xml文件中的标记
我写了以下代码:
val regex = """<!DOCTYPE[^>[]*(\[[^]]*\])?>""".r
但是它给了我以下错误
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 27
<!DOCTYPE[^>[]*(\[[^]]*\])?>
^
我做错了什么?
答案 0 :(得分:1)
转义字符类中的]
,[
。
val regex = """<!DOCTYPE[^>\[]*(\[[^\]]*\])?>""".r
答案 1 :(得分:1)
<!DOCTYPE[^>[]*(\[[^]]*\])?>
↑ ↑
你应该逃避集合中的]
和[
:
<!DOCTYPE[^>\[]*(\[[^\]]*\])?>