我有一个这样的字符串:SPList:6E5F5E0D-0CA4-426C-A523-134BA33369D7?SPWeb:C5DD2ADA-E0C4-4971-961F-233789297FE9:
。
使用Javascript,我想提取两个ID(可以不同):6E5F5E0D-0CA4-426C-A523-134BA33369D7
和C5DD2ADA-E0C4-4971-961F-233789297FE9
。
我正在使用这个正则表达式:^SPList\:(?:[0-9A-Za-z\-]+)\?SPWeb\:(?:[0-9A-Za-z\-]+)\:$
。
我希望这个表达式能够将两个 ID 提取到两个匹配的组中。
到目前为止,我的代码是:
var input = "SPList:6E5F5E0D-0CA4-426C-A523-134BA33369D7?SPWeb:C5DD2ADA-E0C4-4971-961F-233789297FE9:";
var myregex = /^SPList\:(?:[0-9A-Za-z\-]+)\?SPWeb\:(?:[0-9A-Za-z\-]+)\:$/g;
var match = input.match(myregex);
var listId = match[0];
var webId = match[1];
但是,这并没有按预期工作。第一个匹配包含整个字符串,第二个匹配未定义。
提取我的 ID 的正确方法是什么?
这是一个说明我的问题的jsfiddle 。