在Java Regex中提取字符串和其他字符串之间的数字

时间:2014-11-24 11:55:52

标签: java regex

我有一个这样的字符串:meetingDes32-2(或者meetingDes55-5meetingDes354-74。我需要的是提取文本meetingDes-2之间的数字。在这3个例子中,我需要的是:32,55和354。

我是正则表达式的新手。

谢谢。

3 个答案:

答案 0 :(得分:2)

由于你的字符串不包含任何其他内容,只需替换你不想要的内容,并使用剩下的内容:

String s = "meetingDes32-2";
int num = Integer.parseInt(s.replaceAll("meetingDes|-.*", ""));
System.out.println(num); // 32

答案 1 :(得分:2)

如果你很难找到正则表达式的另一种方法:

int end = indexOf('-');
int startIndex = 10;
String result = meetingDesString.substring(startIndex ,end);

答案 2 :(得分:0)

(?<=meetingDes)\\d+\\b

这应该为你做。

参见演示。

http://regex101.com/r/zU7dA5/22