Java 从URL中提取部分正则表达式
我问了一个问题,非常感谢你的帮助。 我有一个这样的URL /您好/World/special/Case/2016/07/01/offer-015155.html 我只需要“Java 从URL中提取部分正则表达式,java,regex,jmeter,Java,Regex,Jmeter,我问了一个问题,非常感谢你的帮助。 我有一个这样的URL /您好/World/special/Case/2016/07/01/offer-015155.html 我只需要“2016/07/01/offer-015155”这个部分,每次都会动态更改。你能帮忙吗 我尝试了“(.*?”,“\d{4}/\d\d/\d\d/offer-\d+”,但没有帮助 当我运行时,它会显示“未找到”:(你可以考虑使用积极的前瞻和积极的前瞻,比如: (?<=\/Hello\/World\/special\/C
2016/07/01/offer-015155
”这个部分,每次都会动态更改。你能帮忙吗
- 我尝试了
,但没有帮助“(.*?”,“\d{4}/\d\d/\d\d/offer-\d+”
当我运行时,它会显示“未找到”:(你可以考虑使用积极的前瞻和积极的前瞻,比如:
(?<=\/Hello\/World\/special\/Case\/).*(?=.html)
你可以考虑使用积极的前瞻与积极的前瞻相结合,像这样:
(?<=\/Hello\/World\/special\/Case\/).*(?=.html)
您还可以尝试以下代码:
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
您也可以尝试以下代码:
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
如果要提取URL的一部分,可以使用非常简单的方法,如(.+)
演示:
正则表达式配置示例(注意“要检查的字段”位)
参考资料:
(.+)
演示:
正则表达式配置示例(注意“要检查的字段”位)
参考资料:
\d{4}\/\d\d\/\d\d\/offer-\d+
是你的朋友。:@MariaDeleva:我确实试过了……没有起作用。这和你文章中引用的那个有点不同,因为定界符是转义的。下面是您应该转义的分隔符:\d{4}\/\d\d\/\d\d\/offer-\d+
是您的朋友。:)@玛丽亚德列娃:我确实试过了……不起作用。它和你文章中引用的有点不同,因为分隔符是转义的。这是非常感谢你。我想我不能在JMeter工具中实现这一点。不是吗?也许你可以在JMeter中使用正则表达式:(\\d{4}/\\d{2}/\\d{2}/offer-\\d+)非常感谢。我想我不能在JMeter工具中实现这一点。不是吗?也许你可以在JMeter中使用正则表达式:(\\d{4}/\\d{2}/\\d{2}/offer-\\d+)谢谢你,德米特里。你和往常一样棒极了。但我这里有这样的东西。我现在提取了一些东西,所以现在应该是这样的“/2016/01/07/offer-456789.html”。有没有办法,我可以“删除”这个.html…这样我就可以一直使用到没有.html的部分。谢谢。也许可以把regex改成/Hello/World/special/Case/(.+).html
?谢谢你。你和往常一样棒极了。但我这里有这样的东西。我现在提取了一些东西,所以现在应该是这样的“/2016/01/07/offer-456789.html”。有没有办法,我可以“删除”这个.html…这样我就可以一直使用到没有.html的部分。谢谢。也许把regex改成/Hello/World/special/Case/(.+).html
?