PHP(正则表达式) - 将url部分与括号匹配

时间:2014-03-13 14:44:28

标签: php regex

我是regex的新手(几小时前才真正开始认真对待它),即使它没有那么糟糕......我在匹配括号时表现不佳。

这是我有/想要的:

$p = "#(\/new_arrivals\/[a-zA-Z0-9_]+|\/\(offset\)\/([0-9][0-9]|[0-9][0-9][0-9]))$# i";
$s = "http://www.example.com/abc/cba/new_arrivals/(offset)/29";

我想匹配/(offset)/29 ...但即使我试图逃避它们,我也似乎无法使它与括号匹配。

另外......数字29 ......从29开始上升到500.有没有更简单的方法让它匹配2或3个数字而不是所有([0-9][0-9]|[0-9][0-9][0-9])

2 个答案:

答案 0 :(得分:1)

使用此正则表达式:

\/\(offset\)\/\d{2,3}

演示:http://regex101.com/r/tZ7zS4

答案 1 :(得分:0)

\/\(*[A-z]+\)*\/[0-9]+$

匹配:/(偏移)/ 29

\/[A-z]+\/[0-9]+$

匹配:/ offset / 29

希望有所帮助