0

良い結果が得られずに 2 時間ほど費やしました (私の気分がそれを助けていないのかもしれません)。

両方の URL を一致させるために、正規表現を作成しようとしています。

/reservables/imagenes/4/editar/6
/reservables/imagenes/4/subir

上記のように、最初の URL の最後のセグメント6は 2 番目の URL の最後には存在しません。これは、このセグメントはここではオプションであるためです。したがって、1つの正規表現で両方のURLを一致させる必要があります。そのために、これを試しました:

reservables/(editar|imagenes)/([0-9]+)/(imagen|editar|actualizar|subir)/([0-9]+)

これは、最初の URL に対してのみ正常に機能します。?したがって、正規表現に関するいくつかのメモを読むと、シンボルが必要であることがわかりますよね? だから、私はこれを試しましたが、うまくいきませんでした:

reservables/(editar|imagenes)/([0-9]+)/(imagen|editar|actualizar|subir)/([0-9]+)?

まあ、私は自分が間違っていることはしません。

4

2 に答える 2

2

?次のように、周りにも配置したい/

reservables/(editar|imagenes)/([0-9]+)/(imagen|editar|actualizar|subir)(?:/([0-9]+))?

debuggexで正しく一致することがわかります。

于 2013-04-02T16:29:22.877 に答える
1

これは機能します:

reservables/(editar|imagenes)/([0-9]+)/(imagen|editar|actualizar|subir)/([0-9]*)
于 2013-04-02T16:19:18.910 に答える