我正在尝试制作我认为与mod_rewrite一起使用的简单正则表达式。
我尝试了各种表达方式,其中许多我认为很有希望,但所有这些表达方式最终因某种原因而失败。一旦我添加了开始/结束字符串分隔符,它们似乎也都会失败。
例如,^user/(\d{1,10})(?=/)$
是我尝试过的,但除此之外,它似乎将尾部斜杠分组,我只想对数字进行分组。我认为我需要使用积极的外观,但我遇到了困难,因为它正在寻找一个小组。
我想要匹配的是字符串,1)以“user /”开头,2)可能以(\d{1,10})/
结尾(1到10位后跟一个斜杠)
应该匹配:
user/
user/123/
user/1234567890/
不应该匹配:
user
user//
user/-4/
user/35.5/
user/123
user/123//
user/123/5/
user/12345678901/
修改:抱歉格式化;我不明白如何通过此降价来格式化任何内容。这些例子前面有4个空格,我认为它应该是一个代码块,但显然我认为错了。
答案 0 :(得分:1)
^user/(?:([0-9]{1,10})/)?$
应该可以正常工作。
答案 1 :(得分:0)
这:^user(?=/)(/\d{1,10})?/$
编辑:如果您想对数字进行分组,^user(?=/)(?:/(\d{1,10}))?/$