目前,我正在努力解决使用REGEX捕获数字的问题 使用Java
我试图使用REGEX捕获此字符串值中的数字的字符串 是这个..
[TEST][64894]HelloWorld[KGMObilians]
我的愿望是捕捉[]中的数字。
使用Java可以实现吗? 我可以通过分割字符串轻松地获取数字,但公司 希望我使用正则表达式,因为它更安全,更快。请帮我。
答案 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("\\[|\\]", ""));
}