我正在写博客并使用降价语言来呈现输入的内容。现在,我尝试过滤 HTML 标记的代码块(标有三个反引号)之外的所有内容,并希望替换它们。
但是,我当前的 RegExp 模式无法正常工作,并且考虑到我是 RegExp 的新手,我找不到我的问题,这是我使用的模式:
/```(.*)```/g
这很好用,如果我想剥离每个匹配项,但是当我想分割文本时,根据这个模式,JavaScript 只是在寻找三个反引号而不是整个模式。
编辑:
这是我的代码,我使用该模式来拆分从文本字段中获取的文本:
function preformatInput(text){
let noCode = text.split(/```(.*)```/g);
let indizes = [];
let length = [];
for(let i = 0; i<noCode.length; i++){
// indizes.push(text.find(i));
if(i>0)indizes.push(text.indexOf(noCode[i], text.indexOf(noCode[i-1])));
else indizes.push(text.indexOf(noCode[i]));
length.push(noCode[i].length);
}
for(let i = 0; i<noCode.length; i++){
noCode[i] = stripHTML(noCode[i]);
}
console.log(indizes);
console.log(length);
}