URI匹配的正则表达式(字符串结尾)

时间:2019-06-10 17:43:27

标签: regex

我有这样的URI:

/myurl/company/1234/add/task
/myurl/company/1234
/myurl/company/1234/remove/task

和这样的匹配项:

"/myurl/company/(.)+/add/task"
"/myurl/company/(.)+/remove/task"

我的问题是-如果我想找到这样的URI,该怎么办?

/myurl/company/1234

因为这不起作用:

"/myurl/company/(.)+"

如何锚定正则表达式以查找没有其他反冲的结尾(表明会有更多URI)?

1 个答案:

答案 0 :(得分:3)

如果我们只想捕获那些以数字结尾的网址,则可以使用以下表达式:

^\/myurl\/company\/[0-9]+$

或:

\/myurl\/company\/[0-9]+$

Demo 1

或者,如果需要的话,我们可以将它们与可选组结合起来以捕获所有对象,例如:

(\/myurl\/company\/[0-9]+)(\/add\/task)?(\/remove\/task)?

Demo 2

或者,我们将使用逻辑或并捕获组:

(\/myurl\/company\/[0-9]+)|(\/add\/task)|(\/remove\/task)

Demo 3

RegEx电路

jex.im可视化正则表达式:

enter image description here

建议

Sunny建议:

  

您可以对UUID使用正则表达式来代替[0-9]+:   [0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}