Java 如何使用正则表达式或任何方法从较大的字符串中抓取一段字符串

Java 如何使用正则表达式或任何方法从较大的字符串中抓取一段字符串,java,regex,string,Java,Regex,String,我正试图从一根更大的绳子中提取一根绳子 示例: String value; ...etc... value = someMethod(); // Here value equals a large string text value; 我想提取这个字符串的一个子集,它以“path=”开头,然后是它后面的所有内容 详细示例: String value; ...etc... value = someMethod(); // Here value equals a large string te

我正试图从一根更大的绳子中提取一根绳子

示例:

String value;
...etc...
value = someMethod();

// Here value equals a large string text
value;
我想提取这个字符串的一个子集,它以“path=”开头,然后是它后面的所有内容

详细示例:

String value;
...etc...
value = someMethod();

// Here value equals a large string text
value;
如果值等于:

StartTopic=testParser,multiCopy=false,required=true, all=false,path=/Return/ReturnData/IRSW2

我只需要“path=/Return/ReturnData/IRSW2”等等

我如何在Java中做到这一点

这就是我目前拥有的:

if(value.contains("path")) {
    String regexStr = FileUtils.readFileToString(new File("regex.txt"));
    String escapedRegex = StringEscapeUtils.escapeJava(regexStr);
    System.out.println(value.replaceAll(escapedRegex), "$1");
}
这不行!只需再次输出整个字符串

regex.txt的内容:

String value;
...etc...
value = someMethod();

// Here value equals a large string text
value;
/路径=([^\,]+)/


使用函数indexOf()查找“path=”的索引。

这应该可以解决问题

String str = "path=/Return/ReturnData/IRSW2";
System.out.println(str.substring(str.indexOf("path=") + 5));
String s=“如果value=StartTopic topic=testParser,multicpy=false,required=true,all=false,path=/Return/ReturnData/IRSW2”;
String regex=“path=[^\\,]*”;
Pattern p=Pattern.compile(regex);
匹配器m=匹配器p;
if(m.find()){
System.out.println(m.group());
}
您还可以使用:

String regex = "(?<=path=)[^\\,]*";

String regex=“(?这只适用于预期长度的文本字符串。谢谢,这确实做到了trickOP明确规定的“regex或任何方法”