使用正则表达式提取括号中的数字

时间:2015-12-15 12:34:18

标签: java regex

目前,我正在努力解决使用REGEX捕获数字的问题 使用Java

我试图使用REGEX捕获此字符串值中的数字的字符串 是这个..

[TEST][64894]HelloWorld[KGMObilians]

我的愿望是捕捉[]中的数字。

使用Java可以实现吗? 我可以通过分割字符串轻松地获取数字,但公司 希望我使用正则表达式,因为它更安全,更快。请帮我。

2 个答案:

答案 0 :(得分:2)

试试这个:

String s = "[TEST][64894]HelloWorld[KGMObilians]";
Pattern patt = Pattern.compile("\\[\\d+\\]");
Matcher match = patt.matcher(s);

<强> IDEONE DEMO

如果你不想要括号,那就简单地说就像

String s = "[TEST][64894]HelloWorld[KGMObilians]";
Pattern patt = Pattern.compile("\\[(\\d+)\\]");
Matcher match = patt.matcher(s);
while(match.find()){
    System.out.println(match.group(1));
}

<强> IDEONE DEMO

答案 1 :(得分:0)

它取出字符串中的数字。

    String s = "[TEST][64894]HelloWorld[KGMObilians]";
    Pattern patt = Pattern.compile("\\[\\d+\\]");
    Matcher match = patt.matcher(s);
    if (match.find()) {         
        String group = match.group();
        System.out.println(group.replaceAll("\\[|\\]", ""));
    }