0

私はこれで夢中になろうとしています。で終わるすべての文字列を一致させようとしていますが、で終わる文字列では.htmlありません/index.html。書き直しのために、あなたは推測したでしょう。(私はnginxを使用しています)

私は次のようなことを試しました:

^(.*[^(\/index)])\.html$

^(.*)(?!index)\.html$

しかし、ドットは常にすべてを食い尽くしているようです。

# Should match
/page.html
/folder/page.html

# Should not match
/page
/page/index.html
/index.html

なぜこれが機能しないのですか?

4

3 に答える 3

2

あなたはあなたのものを述べていませんが、多くの正規表現フレーバーは後読みをサポートしています。あなたの場合、次のように使用できます:

(?<!index)\.html$
于 2013-05-22T23:09:20.927 に答える
0

動作することが保証されている非常に簡単な方法の 1 つ:

.*([^i].*|i[^n].*|in[^d].*|ind[^e].*|inde[^x].*|index.+)\.html

.*\.htmlこれは、index.html で終わらない限り、すべてが一致します。

于 2013-05-22T23:29:03.537 に答える