正则表达式只捕获页码

时间:2018-02-01 12:42:18

标签: regex .htaccess

我想编写以下正则表达式来仅捕获页码而不是“/ p2”。 如果没有设置页面,我还需要捕获第一组。

任何人都可以引导我纠正结果。感谢

~(.*)/c(?:(/p[0-9]+))~is

Match 1
Full match  0-34    `http://localhost:8080/clothes/c/p2`
Group 1.    0-29    `http://localhost:8080/clothes`
Group 2.    31-34   `/p2`

https://regex101.com/r/prgF1H/2

1 个答案:

答案 0 :(得分:1)

(.*)/c(?:/(p[0-9]+))?

将正斜杠移出捕获组,并使页码可选(因此匹配整个字符串)

here

修改

如果您的意思是“只有页码”位而不是“/ p2”则表示“2”:

(.*)/c(?:/p([0-9]+))?