Javascript 正则表达式帮助从字符串中提取值
我有一个类似javascript的字符串Javascript 正则表达式帮助从字符串中提取值,javascript,regex,Javascript,Regex,我有一个类似javascript的字符串 "some text @[14cd3:+Seldum Kype] things are going good for @[7f8ef3:+Kerry Williams] so its ok" 我想从中提取这两个人的姓名和id。因此,数据如下: [ { id: 14cd3, name : Seldum Kype}, { id: 7f8ef3, name : Kerry Williams} ] 你如何使用正则表达式来提取这个 请帮助从组索引1获取id
"some text @[14cd3:+Seldum Kype] things are going good for @[7f8ef3:+Kerry Williams] so its ok"
我想从中提取这两个人的姓名和id。因此,数据如下:
[ { id: 14cd3, name : Seldum Kype},
{ id: 7f8ef3, name : Kerry Williams} ]
你如何使用正则表达式来提取这个
请帮助从组索引1获取id,从组索引2获取名称
@\[([a-z\d]+):\+([^\[\]]+)\]
说明:
匹配文字符号@
匹配文字符号\[
捕获一个或多个字符小写字母或数字([a-z\d]+)
按字面意思匹配:\+
:+
捕获任何字符,但不能一次或多次捕获([^\[\]]+)
或[
中的字符]
文字符号\]
@\[([\d\w]+):\+([\s\w]+)\]
var text=“一些文本@[14cd3:+Seldum Kype]事情正在发展”+
“对@[7f8ef3:+Kerry Williams]有好处,所以没关系”
var data=text.match(/@\[.+?\]/g).map(函数(m){
var match=m.substring(2,m.length-1);
返回{id:match[0],name:match[1]};
})
//=>[{id:'14cd3',name:'Seldum Kype'},
//{id:'7f8ef3',名称:'Kerry Williams'}]
//演示
document.getElementById('output').innerText=JSON.stringify(数据)代码>
最后一个+
做什么?重复上一个令牌一次或多次。