我有这个密码:
String responseData = "http://xxxxx-f.frehd.net/i/world/open/20150426/1370235-005A/EPISOD-1370235-005A-016f1729028090bf_,892,144,252,360,540,1584,2700,.mp4.csmil/.m3u8";
"http://xxxxx-f.frehd.net/i/world/open/20150426/1370235-005A/EPISOD-1370235-005A-016f1729028090bf_,892,144,252,360,540,1584,2700,.mp4.csmil/.m3u8";
String pattern = ^(https://.*\.54325)$;
Pattern pr = Pattern.compile(pattern);
Matcher math = pr.matcher(responseData);
if (math.find()) {
// print the url
}
else {
System.out.println("No Math");
}
我想打印出最后一个以http开头,以.m3u8结尾的字符串。我该怎么做?我卡住了。感谢所有的帮助。
我现在的问题是,当我找到一个数学和什么打印出来的字符串,我从responsedata得到一切。
1条答案
按热度按时间ctehm74n1#
如果您需要在末尾获得一些前面有类似子字符串的子字符串,您需要确保regex引擎在您所需的匹配之前已经使用了尽可能多的字符。
而且,你有一个
^
按照你的模式那意味着beginning of a string
. 因此,它从一开始就开始匹配。你只需花点时间就能达到你想要的
lastIndexOf
以及substring
:或者,如果你需要正则表达式,你需要使用
使用
math.group(1)
打印值。示例代码:
输出:
同样在regexplanet上测试