1

正規表現に問題があるので、ここで質問することにしました。基本的に、特定のものを除いて、コレクションの URI と一致させる必要があります ( /new)。

すなわち:

/properties     # match
/properties/25  # match
/properties/new # rejected

次のバリエーションを試しましたが、役に立ちませんでした。

/properties(^(/new)).*

私の問題は否定にあると思いますが、私が何をしようとしているのかを完全に理解することはできません..解決策の説明をいただければ幸いです!

4

3 に答える 3

1

^文字クラス ( で囲まれた任意の順序の文字のグループ[ ]。 を使用する必要があります?!。 も使用.*しないでください。 何も追加しません。 何かに一致させたい場合は、何も入れないでください :) . また、試合をキャプチャする必要はありません。/設定方法によっては、スラッシュ ( )もエスケープする必要がある場合があります。

これを試して:

\/properties(?!\/new)

于 2010-11-09T15:21:40.747 に答える
0
于 2010-11-09T15:19:07.130 に答える
0

How about this one:

/properties(?!/new)(?:/.*){0,1}

the: `(?!/new) is a negative forward lookup, and essentially says: make sure this cannot be matched

the following: (?:/.+){0,1} allows for the matching of additional paths (ie. /25) and is a non-capturing group that says match / followed by zero or more characters, and match it zero to one times as a group. The {0,1} allows it to match even if there is no /25.

于 2010-11-09T15:20:50.637 に答える