3

"articles"セグメントの後に他のセグメントが続くURL には一致するが、セグメントを含む URL には一致しない正規表現をどのように記述すればよいでしょう"articles-main"か?

したがって、これらに一致します。

www.mysite.com/articles
www.mysite.com/articles/tinman

しかし、これらではありません:

www.mysite.com/articles-main
www.mysite.com/articles-main/tinman

これは、重要な場合に ExpressionEngine で使用するためのものです。

4

3 に答える 3

5

いわゆる否定先読みを使用します。

articles(?!-main)

またはより正確には:

mysite.com/articles(?!-main)
于 2012-10-11T20:09:30.847 に答える
1

@Regexident のアドバイスに逆らうために、前向きな先読みをお勧めしarticles(?=$|\/)ます。

これは、文字または文字列の末尾articlesが続くかどうかを照合して確認することを意味します。/そうすれば、一致するかどうかは関係ありませ"articles-main""articlessomethingelse"

これがしないことは、記事が独自のディレクトリであるかどうかを確認することです。の値http://example.com/some-articlesは一致しますが、受け入れられない場合があります。

文字が一致に含まれるかどうかを気にしない場合は/、次の行に沿って正規表現を使用できます。

\/articles(?=\/|$)

(?<=)それでも問題がなく、PHP の pcre 関数を使用している場合は、肯定的な後読み ( )を使用できます。

(?<=\/)articles(?=\/|$)

これらの正規表現アサーションの詳細については、php.net Web サイトを参照してください。

于 2012-10-11T20:15:29.457 に答える
0

「記事/」を探します。あなたの例では、正規表現は少しやり過ぎかもしれません。

于 2012-10-11T20:11:04.017 に答える