正则表达式匹配特定的URI

时间:2013-03-01 13:13:14

标签: regex rest uri

需要从请求的URI中捕获3个元素。

URI的有效格式如下:

/users/{id}.{size}.{type}

而id和size可以是数字。类型只能是'jpg'或'png'。

扭曲是尺寸是可选的。因此URI的另一种格式是:

/users/{id}.{type}

有效示例如下:

/users/123.100.jpg
/users/123.100.png
/users/123.jpg
/users/123.png

无效示例如下:

/users/asd.jpg
/users/123.tiff
/users/123..jpg
/users/123..100..jpg
/users/123..100.jpg
/users/123.100

感谢。

2 个答案:

答案 0 :(得分:2)

试试这个正则表达式。它提取id, size and type

首先,此正则表达式验证了网址与您的有效模式匹配。

\/users\/(\d+)(?:\.(\d+))?\.(jpg|png)
  • Id:(?<=/)\d+
  • 尺寸:(?<=\.)\d+(?=\.)。假设网址以有效的方式构建。
  • 输入:.*(jpg|png)

答案 1 :(得分:1)

这个正则表达式应该为你做验证:

/users/(\d+\.){1,2}(jpg|png)

示例请参见此处:http://regexr.com?33vba