0

を含む URL があり~、この文字のエンコードされたバージョンを処理する必要があり%7Eます。

現在、このケースを処理するための 2 つのルールがあります。

^/folder/([\w-]+)~(\d*).aspx$
^/folder/([\w-]+)%7E(\d*).aspx$

これを 1 つのルールにまとめることはできますか? 次のことを試しましたが、うまくいきません。

^/folder/([\w-]+)[~|%7E](\d*).aspx$

このルールに関するヘルプは大歓迎です。

4

1 に答える 1

1

試してみたいかもしれません

^/folder/([\w-]+)(~|%7E)(\d*)\.aspx$

また

^/folder/([\w-]+)(?:~|%7E)(\d*)\.aspx$

正規表現エンジンがこの構文をサポートしている場合、キャプチャ グループを同じに保つことができます。

これは、代替のグループではなく、文字クラス[…]を構築します。Soは、「リテラル、、 、または.[~|%7E]~|%7E

そのためには括弧を使用する必要があります。また、正規表現では「任意の文字」を意味するため、 .inをエスケープする必要があります。\.aspx.

于 2012-08-03T17:31:32.433 に答える