我的字符串如下:
SUB8&20.000,-&succes&09/12 / 18SUB12&100.000,-&failed&07/12 / 18SUB16&40.000,-&succes&09/12/18
我想获取一个介于"8&20.000","16&40.000"
和SUB
之间的字符串 ,-&succes
我想获取succes data
如何使用java regex获取字符串?
答案 0 :(得分:2)
使用此正则表达式,
SUB([^,]*),-&succes
Java代码
public static void main(String[] args) {
String s = "SUB8&20.000,-&succes&09/12/18SUB12&100.000,-&failed&07/12/18SUB16&40.000,-&succes&09/12/18";
Pattern p = Pattern.compile("SUB([^,]*),-&succes");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));
}
}
打印
8&20.000
16&40.000
答案 1 :(得分:1)
您可以使用模式SUB[^S]+&success[^S]+
,然后选择所需的模式。
两个匹配将是SUB8&20.000,-&succes&09/12/18
和SUB16&40.000,-&succes&09/12/18
。
选择后,您可以使用[0-9]+&[0-9.]+
去除不需要的东西。
答案 2 :(得分:1)
我不知道我是否正确回答了您的问题。但是此正则表达式将提供您要查找的确切字符串。
(?<=SUB)([^,]*)(?=,-&succes)