正则表达式匹配URL段

时间:2017-08-15 22:14:46

标签: regex

我在正则表达方面非常糟糕并且还在学习。我试图设置我的正则表达式以找到我的第一个URI。

/test/guid/5824812d100afbc60ef09411
/test/guid/5824812d100afbc60ef09411/action/create
/test/guid/5824812d100afbc60ef09411/action/version/delete

我的正则表达式适用于(/ action / create)和(/ action / version / delete)。

我需要第一个成为它自己的个人URI。 guid after / guid改变了,但它之后永远不会包含任何内容。

这些正在发挥作用:

\/test\/guid\/\d.*\/action\/create
\/test\/guid\/\d.*\/action\/version\/delete

但是,如果我使用相同的约定来查找第一个URI,它会找到它们。我需要所有3个单独的。

帮助?

1 个答案:

答案 0 :(得分:0)

主播是你的朋友。 ^匹配行的开头(或完整字符串的开头,具体取决于您的修饰符),$匹配结尾。

所以你需要的就是这样:

\/test\/guid\/[a-z0-9]+$

这应该足够好了,因为在guid的字母数字字符串之后你期望字符串终止或者有正斜杠,但是如果你的guid是已知的固定长度,那么做某事可能会更好像:

\/test\/guid\/[a-z0-9]{24}$