我问了一个问题,非常感谢所有的帮助。 我有一个像这样的URL。
/Hello/World/special/Case/2016/07/01/offer-015155.html
我只需要" 2016/07/01/offer-015155
"这一部分每次都会动态变化。你能帮忙吗?
"(.*?)" , "\d{4}/\d\d/\d\d/offer-\d+."
但没有帮助。当我跑步时说,没找到。 :(
答案 0 :(得分:0)
你可以考虑使用积极的外观和积极的前瞻,如下所示:
(?<=\/Hello\/World\/special\/Case\/).*(?=.html)
这个正则表达式是非常明确的但是完成了这项工作。有关正则表达式的解释,请参阅此内容:https://regex101.com/r/vY5mS2/2
编辑: 或者只是使用捕获组(https://regex101.com/r/vY5mS2/5)
\/Hello\/World\/special\/Case\/(.*)\.html
答案 1 :(得分:0)
您也可以尝试以下代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("(\\d{4}/\\d{2}/\\d{2}/offer-\\d+)");
String testString = "/Hello/World/special/Case/2016/07/01/offer-015155.html";
Matcher matcher = pattern.matcher(testString);
if (matcher.find()) {
System.out.println(matcher.group());
}
}
}
执行结果:2016/07/01/offer-015155
答案 2 :(得分:0)
如果您想要提取网址的一部分,那么使用非常简单的内容就足够了,例如(.+)
演示:
正则表达式配置示例(介意&#34;要检查的字段&#34;位)
参考文献: