-1

私はクローラー4Jを使用しており、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

正規表現にいくつかのエラーがあります。すべてのアスタリスクは .+ にする必要があります。これは、少なくとも 1 つ以上の文字に一致させたいことを示します。疑問符記号はエスケープする必要があります。category_id は、categoryId である必要があります。productDetails:aspx は productDetails.aspx である必要があります。これらすべての修正により、正規表現は次のようになります。

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

また、正規表現の最初と最後に ^ または $ を使用しないでください。これらは入力の開始と終了に一致するため、URL の一部を取得しようとしている場合は機能しません。

于 2014-03-07T23:20:14.613 に答える