在Java中第一次匹配之前使用正则表达式的子串字符串

时间:2015-05-20 08:04:45

标签: java regex

在Java中第一次匹配之前,是否可以使用regex对字符串进行子串?

String str = "&&param1=value 1&&param1=value&2&&param1=value & 2&param2=aaas&param3=99&param4=bbb";

我希望得到这样的结果:

&&param1=value 1&&param1=value&2&&param1=value & 2

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式来匹配您的测试:

^.*?(?=(?<!&)&\w+=)

RegEx Demo

在Java中,这个正则表达式将是:

"^.*?(?=(?<!&)&\\w+=)"

答案 1 :(得分:0)

如果您只想将字符串拆分为空格,可以尝试以下代码

String str = "&&param1=value 1&&param1=value&2&&param1=value & 2&param2=aaas&param3=99&param4=bbb";
String[] strAray = str.split(" ");//strArray contains all the splitted tokens
for(String s : strAray){
    System.out.println(s);//Prints out each token
}