Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何拆分字符串而不丢失分隔符和正则表达式?_Javascript - Fatal编程技术网

Javascript 如何拆分字符串而不丢失分隔符和正则表达式?

Javascript 如何拆分字符串而不丢失分隔符和正则表达式?,javascript,Javascript,我有一个类似于“”的字符串。现在,我想拆分这个字符串,所以我有两个标记。如果我这样做 var arr=“”。拆分(“>”),因为javascript正则表达式不支持查找后断言,所以无法使用方法。请使用方法获取完整字符串 var arr=“”。匹配(/[\s\s]+?>(?=)要在没有正则表达式的情况下执行此操作,您需要某种类型的解析器。检查每个字符,构建块并将其存储在数组中。然后您可能需要处理位,查找标记或进行其他处理。例如 /*将字符串分成块,以及中间的任何内容。 **@param{str

我有一个类似于

的字符串。现在,我想拆分这个字符串,所以我有两个标记。如果我这样做


var arr=“

”。拆分(“>”),因为javascript正则表达式不支持查找后断言,所以无法使用方法。请使用方法获取完整字符串


var arr=“

”。匹配(/[\s\s]+?>(?=)要在没有正则表达式的情况下执行此操作,您需要某种类型的解析器。检查每个字符,构建块并将其存储在数组中。然后您可能需要处理位,查找标记或进行其他处理。例如

/*将字符串分成块,以及中间的任何内容。
**@param{string}s-要分析的字符串
**@返回{Array}个字符串块
*/
函数getChunks(s){
解析的var=[];
var限制=s.长度-1;
s、 拆分(“”).reduce(函数(缓冲区、字符、i){
var startTag=char=='';
if(startTag){
if(缓冲区长度){
push(缓冲区);
}
缓冲区=字符;
}else if(endTag){
缓冲区+=字符;
}else if(关闭标签){
push(缓冲区+字符)
缓冲区='';
}否则{
缓冲区+=字符;
}
if(i==limit&&buffer.length){
push(缓冲区);
}
返回缓冲区;
}, '');
返回解析;
}
['

', “更复杂”, '断开的标记['+getChunks+']')
});
如果它们之间有一些内容怎么办?也许你需要
假设不会有。我只是想暂时将分隔符保留在字符串中。@jmcgui05如果你想从JavaScript中绘制类似HTML标记的图形,我建议使用RegExp。@mplungjan感谢谷歌链接。这些解决方案有多少Regex?我的问题是,是否有办法在拆分时执行此操作。我没有要求使用Regex。您的个人资料显示您喜欢帮助他人,非常感谢。
["<p>","</p>"]