Javascript RegExp:搜索用特殊字符或字符串包装的所有内容
我正在写一个博客,并使用标记语言对输入的内容进行渲染。现在,我尝试过滤代码块(用三倍回号标记)之外的所有HTML标记,并希望替换它们。Javascript RegExp:搜索用特殊字符或字符串包装的所有内容,javascript,html,regex,markdown,showdown,Javascript,Html,Regex,Markdown,Showdown,我正在写一个博客,并使用标记语言对输入的内容进行渲染。现在,我尝试过滤代码块(用三倍回号标记)之外的所有HTML标记,并希望替换它们。 但是,我当前的RegExp模式工作不正常,考虑到我是RegExp新手,我找不到我的问题,下面是我使用的模式: /```(.*)```/g 如果我想分割每个匹配项,那么这样做很好,但是当我想分割文本时,根据这个模式,JavaScript只是寻找三个回勾,而不是整个模式 编辑: 下面是我的代码,我使用该模式分割从文本字段中获取的文本: 函数输出(文本){ 让no
但是,我当前的RegExp模式工作不正常,考虑到我是RegExp新手,我找不到我的问题,下面是我使用的模式:
/```(.*)```/g
如果我想分割每个匹配项,那么这样做很好,但是当我想分割文本时,根据这个模式,JavaScript只是寻找三个回勾,而不是整个模式
编辑:
下面是我的代码,我使用该模式分割从文本字段中获取的文本:
函数输出(文本){
让noCode=text.split(/``(.*```/g);
让indizes=[];
设长度=[];
for(设i=0;i0)indizes.push(text.indexOf(noCode[i],text.indexOf(noCode[i-1]));
else指示.push(text.indexOf(noCode[i]);
length.push(noCode[i].length);
}
对于(设i=0;i解决了问题:
我将我的RegExp模式更改为以下模式:/`[^`]+`/g
,它起作用了。/`[^`]+`/g
不起作用,表达式的工作方式与/`[^`]+`/g
相同,并且禁止单/双`
s
使用
/``[\s\s]*?``/g
解释
--------------------------------------------------------------------------------
``` '```'
--------------------------------------------------------------------------------
[\s\s]*?任意字符:空白(\n\r\t,
\f、 和“”),非空白(除“\n、,
\r、 \t、\f和“”)(0次或多次
(匹配尽可能少的金额)
--------------------------------------------------------------------------------
``` '```'
显示使用正则表达式的实际代码的代码在哪里?您传递的是什么输入?@JuanMendes感谢您的回复,我在使用该模式的地方添加了代码。