-1

我正在使用 crawler4J,我只想为 url 制作一些模式,但我无法解决该 url 的正则表达式:

http://www.site.com/liste/product_name_changable/productDetails.aspx?productId={id}&categoryId={category_id}

我试试看:

liste\/*\/productDetails:aspx?productId=*&category_id=*

private final static Pattern FILTERS = Pattern.compile("^/liste/*/productDetails.aspx?productId=*$");

但它不起作用。

我怎样才能使它成为正则表达式模式?

4

1 回答 1

1

您的正则表达式中有几个错误。所有星号都应为 .+,表示您希望匹配至少一个或多个字符。问号符号需要转义。category_id 应该是 categoryId。productDetails:aspx 应该是 productDetails.aspx。通过所有这些修复,正则表达式如下所示:

liste\/.+\/productDetails\.aspx\?productId=.+&categoryId=.+

此外,您不应该在正则表达式的开头和结尾使用 ^ 或 $。它们与输入的开始和结束相匹配,因此如果您尝试获取一部分 url,它们将不起作用,您就是。

于 2014-03-07T23:20:14.613 回答