新的java正则表达式,如何抓住这部分字符串

时间:2010-01-06 01:58:30

标签: java regex netbeans

我有一个看起来像的字符串:

http://www.example.com/index.do/blah/1_44/asdf/asdf/asdf
http://www.example.com/index.do/blah/1_44_2342/asdf/asdf/asdf

我需要从上面获取值44,当然'44'可以是任何数字。 数字“44”始终以_为前缀,之后可能是另一个_/

我不知道java正则表达式API,因此我们非常感谢指导!

1 个答案:

答案 0 :(得分:5)

主要是您感兴趣的PatternMatcher课程。

String url = "http://www.example.com/index.do/blah/1_44/asdf/asdf/asdf";
Pattern p = Pattern.compile("_(\\d+)");
Matcher m = p.matcher(url);
if (m.find()) {
  int number = Integer.valueOf(m.group(1));
}

此模式查找第一个_之后的一个或多个数字的第一个序列。