Regex 正则表达式捕获以UUID结尾的URI,但不捕获其他任何内容
我希望通过javascript正则表达式匹配如下所示的URI(包括路径和UUID):Regex 正则表达式捕获以UUID结尾的URI,但不捕获其他任何内容,regex,Regex,我希望通过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/0006a8a
/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,但我需要它实际使匹配失败,并且由于最后附加的DSSSS而不捕获任何内容。如何更改正则表达式以实现此目的?您忘了添加行尾
$
^\/([a-zA-Z0-9_\.~-]+)\/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$
您忘记添加行尾
$
^\/([a-zA-Z0-9_\.~-]+)\/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$
我看到你正在使用线锚的开始(^)。尝试使用端点定位($)
我看到你正在使用线锚的开始(^)。尝试使用端点定位($)
我希望你计划在你的表达式“中间”中避开前斜杠,不是吗?我的工作做得很好。我将上述内容作为捕获1:account和捕获2:0006a8a6-b301-4168-b7de-964773a1ec66。我应该做些其他的事情吗?我希望你计划在你的表达“中间”的时候避开前斜杠。不是吗?我的工作做得很好。我将上述内容作为捕获1:account和捕获2:0006a8a6-b301-4168-b7de-964773a1ec66。我应该做点别的吗?