如何在URL中构建正则表达式

时间:2014-05-28 14:18:14

标签: regex

我想在一个URL中构建一个reg表达式,该表达式匹配"之后的任何3个字符 - ":

/mysite/portraits/person-abc/
/mysite/portraits/person-xyz/
/mysite/portraits/person-123/

这是我需要的吗?

/mysite/portraits/person-*/

3 个答案:

答案 0 :(得分:0)

不,这就是你需要的:

(.{3})/$

请注意,您必须逃避/以适合您选择的语言

第1组将包含这三个字符。

答案 1 :(得分:0)

试试以下正则表达式:

person-([a-z0-9]{3})/$

要匹配任何字符 - 不仅仅是字母数字,请使用@Amit Joki发布的.

答案 2 :(得分:0)

  • 你需要逃避斜线
  • 您需要在*运营商之前添加一个点(此处,您正在寻找多个破折号)
  • 您可以*替换{3,}以查找3个或更多字符
  • 您可以使用^$来定义边界
/^\/mysite\/portraits\/person-.{3,}\/$/

enter image description here

如果要捕获动态部分,请添加括号:

/^\/mysite\/portraits\/person-(.{3,})\/$/