首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Regex非封闭字符类(PatternSyntaxException)

Java Regex非封闭字符类(PatternSyntaxException)
EN

Stack Overflow用户
提问于 2013-06-20 22:54:50
回答 1查看 861关注 0票数 0

我在编译正则表达式时遇到问题。我无法从思科文档中找到此表达式的问题所在,也不明白它为什么不起作用。我希望有人能告诉我它出了什么问题。这就是我想要做的:

代码语言:javascript
复制
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());
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-20 22:57:04

这一点:

代码语言:javascript
复制
^[]0-9*#X[^-]{1,50}$

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

代码语言:javascript
复制
^[0-9]*#X[^-]{1,50}$

更新

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

代码语言:javascript
复制
^\[\]0-9*#X[^-]{1,50}$

所以:

代码语言:javascript
复制
pattern.compile("^\\[\\]0-9*#X[^-]{1,50}$");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17216961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档