我的目标是在域地址中验证通配符的正则表达式;
我试过通过java.util.regex.Pattern来做,但有些情况让我很困惑。 有人可以解释,为什么它被视为有效模式:
Pattern.compile("h]cat")
这一个无效:
Pattern.compile("h[cat")
答案 0 :(得分:2)
h]cat
中的 ]
表示文字]
符号。
h[cat
在此字符串中,字符类已启动[
但未终止。所以它无效。 [
被视为char类的开始。
答案 1 :(得分:2)
这是一种语法问题。 {
和}
可以作为文字存在于自己身上,]
也可以单独存在。然而,未闭合的[
是语法错误。