0

私はURL書き換えのためにこの正規表現を持っています:

<from>^/page/([0-9]+)/order/(.*)/by/(.*)/composition/(.*)/location/(.*)/price_min/(.*)/price_max/(.*)/industry/(.*)/type/(.*)$</from>
<to>/page=$1&order=$2&by=$3&composition=$4&location_id=$5&price_min=$6&price_max=$7&industry_id=$8&type_id=$9</to>

以下のようなURLと一致させたいのですが、一致しません。

/ page / 2 / order / id / by / desc / compose / 1 / location / none / price_min / 2 / price_max / 2 / Industry / 2 / type / 3

4

1 に答える 1

1

次のものの使用を検討してください。

^/page/([0-9]+)/order/(.+?)/by/(.+?)/composition/(.+?)/location/(.+?)/price_min/(.+?)/price_max/(.+?)/industry/(.+?)/type/(.+?)$

正規表現には2つのことがあります。

  1. との間には常にデータがあるため、.+の代わりにを使用する必要があります。 .*//
  2. を追加する必要があります?。これは、欲張りではないことを意味します。これは、([^/]+)代わりに書くことと同じです。つまり、複数回を除くすべての文字に一致します/
于 2013-02-14T00:13:17.630 に答える