Java 请给我一点正则表达式帮助-第2部分

Java 请给我一点正则表达式帮助-第2部分,java,regex,Java,Regex,以下是输入字符串: loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', 'http://www.something.com/videos/JohnsAwesomeCaption.xml', '/videos/video-splash-image.gif') 使用此正则表达式:(?如果必须在正则表达式中执行任务,请尝试此操作: 替换 对模式进行匹配,获取匹配的子字符串,然后用空

以下是输入字符串:

loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', 'http://www.something.com/videos/JohnsAwesomeCaption.xml', '/videos/video-splash-image.gif')

使用此正则表达式:(?如果必须在正则表达式中执行任务,请尝试此操作:
替换


对模式进行匹配,获取匹配的子字符串,然后用空字符串(或“”,或其他任何字符串)替换该确切的子字符串。如果您的语言可以选择返回匹配的索引而不是匹配的文本,则更容易,因为您只需删除由索引标识的文本范围


某些语言提供了“regusb”(正则表达式替换)命令,允许您用另一个字符串替换正则表达式,该命令允许您在一个步骤中进行匹配并替换所有字符串。不同的语言可以用不同的名称调用该命令。

不确定您使用的是哪种语言,但在Java中可以执行以下操作:

str = "loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', 'http://www.something.com/videos/JohnsAwesomeCaption.xml', '/videos/video-splash-image.gif')";
System.out.println(str.replaceFirst("(?<=')[^']+\\.xml(?=')", ""));
编辑 根据您的注释,使用以下Java代码将字符串分成两部分:

Pattern p = Pattern.compile("^(.*)(?<=')[^']+\\.xml(?=')(.*)$");
Matcher m = p.matcher(str);
if (m.find())
   System.out.println("Output: " + m.group(1) + "<br /><br />" + m.group(2));

Pattern p=Pattern.compile(“^(.*)(?+1)这是一个很好的例子,可以展示一种不使用正则表达式(或重用来自prev-regex的结果)的Java解决方案。但是,如何将输出分成两部分?例如:

$1=loadMedia('mediacontainer1','http://www.something.com/videos/JohnsAwesomeVideo.flv“,”


<2=”,“/videos/video splash image.gif”)
请参阅上面的编辑部分。希望满足您的要求。
(.+)(?<=')[^']+\.xml(?=')(.+)
$1$2
str = "loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', 'http://www.something.com/videos/JohnsAwesomeCaption.xml', '/videos/video-splash-image.gif')";
System.out.println(str.replaceFirst("(?<=')[^']+\\.xml(?=')", ""));
$str = "loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', 'http://www.something.com/videos/JohnsAwesomeCaption.xml', '/videos/video-splash-image.gif')";
echo preg_replace("~(?<=')[^']+\.xml(?=')~", "", $str);
loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', '', '/videos/video-splash-image.gif')
Pattern p = Pattern.compile("^(.*)(?<=')[^']+\\.xml(?=')(.*)$");
Matcher m = p.matcher(str);
if (m.find())
   System.out.println("Output: " + m.group(1) + "<br /><br />" + m.group(2));
Matched: loadMedia('mediacontainer1', 'http://www.something.com/videos/JohnsAwesomeVideo.flv', '<br /><br />', '/videos/video-splash-image.gif')