2

mod_rewrite で使用する単純な正規表現だと思うものを作成しようとしています。

私はさまざまな表現を試しましたが、その多くは有望だと思いましたが、いずれも最終的に何らかの理由で失敗しました。開始/終了文字列区切り記号を追加すると、それらもすべて失敗するようです。

たとえば、^user/(\d{1,10})(?=/)$私が試したものでしたが、とりわけ、末尾のスラッシュをグループ化しているようで、数字のみをグループ化したい. 肯定的な後読みが必要だと思いますが、グループの後ろを見ているので難しいです。

私が一致させようとしているのは、1) 「user/」で始まり、2) で終わる可能性のある文字列です(\d{1,10})/(1 ~ 10 桁の後に 1 つのスラッシュが続く)

一致する必要があります:

user/
user/123/
user/1234567890/

一致しない:

user
user//
user/-4/
user/35.5/
user/123
user/123//
user/123/5/
user/12345678901/

編集:フォーマットについて申し訳ありません。このマークダウンを介して何かをフォーマットする方法がわかりません。これらの例の前には 4 つのスペースがあり、コード ブロックを作成する必要があると思いましたが、明らかに間違っていると思いました。

4

2 に答える 2

1

^user/(?:([0-9]{1,10})/)?$うまくいくはずです。

于 2011-05-22T22:42:48.687 に答える
0

これ:^user(?=/)(/\d{1,10})?/$編集: 数字をグループ化したい場合は、^user(?=/)(?:/(\d{1,10}))?/$

于 2011-05-22T22:39:53.297 に答える