我需要更改marked.js图像表达式。
最初的表达式是:/^\!?\[(inside)\]\(href\)(\w*\S*)*/ -> ![]()
我需要获得所有图像的id,所以我需要转换表达式以从这个-> {>"id"<}获得id值。
我试着将表达式更改为这样的内容:/^\{\>index\>\}\!?\[(inside)\]\(href\)(\w*\S*)*/
之后,我需要编写一个表达式来获得{>index<}的“索引”值。
inside &href的示例:
inline._inside = /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;
inline._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
inline._index = /(?:^\{\>[^\<\}]*\<\}|[^\{\>\<\}]|\<\}(?=[^\{\>]*\<\}))/; // I tryed this, but not works
//replacing
inline.link = replace(inline.link)
('inside', inline._inside)
('href', inline._href)
('index', inline._index)
();有人能帮我构建这个表达式吗?
发布于 2015-04-05 21:40:45
如果我做得对,您希望从具有特定格式的链接(如{>"id"<}and_the_rest )中获取一些数据。
因此,我能建议的最好的判决暂时可以看起来像{>([^<]*)<}\!?\[([^]]+)\]\(([^)]*)\)(\w*\S*)*。它假设在>和<中有"id“," inside”在[和]中,"href“在(和)中一个接一个。
function FindValues(str) {
var re = /\{\>([^<]*)\<\}\!?\[([^\]]+)\]\(([^\)]*)\)(\w*\S*)*/;
var m;
if ((m = re.exec(str)) !== null)
{
return [m[1], m[2], m[3], m[4]];
}
}
var vls = FindValues('{>"id"<}and_the_rest');
document.getElementById('id').innerHTML = "ID: " +vls[0] + "<br>INSIDE: " + vls[1] + "<br>HREF: " + vls[2] + "<br>REST: " + vls[3];<div id='id'/>
https://stackoverflow.com/questions/29457053
复制相似问题