我在编译正则表达式时遇到问题。我无法找到这个表达式的问题,因为我从思科文档中得到了它,我不明白为什么它不起作用。我希望有人能告诉我它有什么问题。这就是我想要做的事情:
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());
}
}
答案 0 :(得分: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}$");