与任何主机匹配的网址的正则表达式

时间:2019-04-12 22:10:13

标签: javascript regex string jestjs

我试图声明一个正则表达式,该正则表达式与任何主机匹配,并且基本上与该URL以/profile/documents/<uuid>结尾

下面的此正则表达式完全匹配 /profile/documents/<uuid>,但是我如何修改此正则表达式以匹配以/profile/documents/<uuid>结尾的任何

expect(res.headers.location).to.match(/^\/profile\/documents\/[A-F\d]{8}-[A-F\d]{4}-4[A-F\d]{3}-[89AB][A-F\d]{3}-[A-F\d]{12}$/i) // Regex for /profile/documents/:uuid

我希望匹配的示例是:

http://localhost:3000/profile/documents/8ce825b7-b8c2-468b-a4c8-88eedea5b4c2
http://127.0.0.1/49943/profile/documents/8ce825b7-b8c2-468b-a4c8-88eedea5b4c2

2 个答案:

答案 0 :(得分:3)

简单-只需在开始时删除^。 (这与字符串的开头匹配,因此只有/profile/document/<uuid>会被匹配-删除它会与/profile/document/<uuid>中的任何字符串 ending 匹配):

/\/profile\/documents\/[A-F\d]{8}-[A-F\d]{4}-4[A-F\d]{3}-[89AB][A-F\d]{3}-[A-F\d]{12}$/i

答案 1 :(得分:0)

您可以尝试这个.*\/profile\/documents\/[a-f\d]{8}-[A-f\d]{4}-4[A-f\d]{3}-[89ab][a-f\d]{3}-[a-f\d]{12}$

您可以在这里regex-example

中查看示例