我想通过 javascript 正则表达式匹配看起来像这样的 URI(包括路径和 UUID):
/account/0006a8a6-b301-4168-b7de-964773a1ec66
我最接近的正则表达式是这样的:
^\/([a-zA-Z0-9_\.~-]+)\/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})
可以很好地捕获上述内容 - 我得到一个匹配项,它捕获为两组。
但是,如果我将其作为 URI 输入:
/account/0006a8a6-b301-4168-b7de-964773a1ec66DSSSSSS
正则表达式仍然匹配并捕获两个组,第二个匹配仍然只是 UUID,但我需要它实际上使匹配失败并且由于末尾附加的 DSSSSS 而不能捕获任何内容。我怎样才能改变我的正则表达式来完成这个?