-1

私は正規表現がまったく苦手なので、少し助けてください! 次のような URI があります。

/collections/stationery/color-green+size-large

そして、色の緑 (この場合は +) を何も置き換えません。色は必ずしも緑であるとは限らないため、color-blue や color-red などになる可能性があります。また、URI の末尾のどこにでも表示される可能性があります。

/collections/stationery/size-large+color-green

そのため、常に + 記号が続くとは限りません。

これを達成するためのコードは気にしないでください。私は正規表現の直後です。つまり、http://regexlib.com/RETester.aspx で叩くことができ正しいパターンに一致します。

どうもありがとう

4

1 に答える 1

1

+以下は、両方の URI の「colour-green」と、最初の URIの次のものに一致します。色違いでも合わせやすいです。

colour-\w+\+?

16 進カラー コードを確認して許可したい場合は、次のようにすることができます。

colour-[^+]+\+?

上記をURIの何も置き換えないと、望ましい結果と思われる結果が得られます。

.../colour-green+size-large- .../size-large
.../size-large+colour-green- .../size-large+
...2 つ以上の変数がある場合:
.../shape-square+colour-green+size-large-.../shape-square+size-large

.../size-large+colour-greenまた、 3 番目の例の一致前の「+」に影響を与えずに、2 番目の ( ) が一致前の「+」を削除する場合。次のような否定的な先読みを使用できます。

(?:\+(?!.*\+))?colour-[^+]+\+?
于 2013-08-12T12:34:49.860 に答える