我需要从以下字符串中提取:d101461b-a280-431c-b2bf-a3b200c6e575
https://training.shop4support.com/Resources/FileStorage/Products\\d101461b-a280-431c-b2bf-a3b200c6e575/St Stephen \ u0027s Neighborhood
我试过了:
var formattedGuid = guid.match('\\(.*)/').pop();
但由于'/'等特殊字符,我收到了意外的令牌错误。
答案 0 :(得分:1)
尝试匹配GUID:
guid.match(/[0-9a-f]{8}(?:-[0-9a-f]{4}){4}[0-9a-f]{8}/)
所以我缩短了以下正则表达式以匹配5组十六进制数字(一组可以与[0-9a-f]{length}
匹配):
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
在初始表达式中,我们可以看到一些模式,这些模式也可以分组,所以现在可以描述如下:
[0-9a-f]{8}
- 一组八个数字
(?:-[0-9a-f]{4}){4}
- 四组连字符和四个数字(?:
不保存匹配项)
[0-9a-f]{8}
- 一组八个数字