0

我在编译正则表达式时遇到问题。当我从 Cisco 文档中得到它时,我找不到这个表达式的问题,我不明白为什么它不起作用。我希望有人能告诉我它有什么问题。这就是我想要做的:

public void test(){
    try{
        pattern.compile("^[]0-9*#X[^-]{1,50}$");
        System.out.println("Syntax is ok");
    } catch (PatternSyntaxException e) {
        System.out.println(e.getDescription());
    }
}
4

1 回答 1

1

这个:

^[]0-9*#X[^-]{1,50}$

不起作用,您必须替换[]0-9[0-9]

^[0-9]*#X[^-]{1,50}$

更新

正如 Duncan Jones 所说,也许您想[]在字符串的开头进行匹配。在这种情况下,您的正则表达式必须成为

^\[\]0-9*#X[^-]{1,50}$

所以:

pattern.compile("^\\[\\]0-9*#X[^-]{1,50}$");
于 2013-06-20T14:57:04.287 回答