Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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_Regex_Global_Lookbehind - Fatal编程技术网

全局搜索重叠的Javascript查找

全局搜索重叠的Javascript查找,javascript,regex,global,lookbehind,Javascript,Regex,Global,Lookbehind,Javascript中的lookbehind regexp有几种解决方案(有时很棘手)。但是,如果我需要零宽度,哪种方法最简单使用全局搜索查找后面的表达式,这可能会重叠。例如,在这里,使用/(?反向查找法似乎最简单。 这种方法最好使用像这样的短数字模式 函数revStr(str){ 返回str.split(“”).reverse().join(“”); } var s=“--1--01001--1087--”; 变量rxp=/\d(?=[01])/g; var result=revStr(re

Javascript中的lookbehind regexp有几种解决方案(有时很棘手)。但是,如果我需要零宽度,哪种方法最简单使用全局搜索查找后面的表达式,这可能会重叠。例如,在这里,使用
/(?反向查找法似乎最简单。
这种方法最好使用像这样的短数字模式

函数revStr(str){
返回str.split(“”).reverse().join(“”);
}
var s=“--1--01001--1087--”;
变量rxp=/\d(?=[01])/g;
var result=revStr(revStr)。替换(rxp,“#”);

文件写入(结果);
除非您需要可变宽度的后向查找和可变宽度的前向查找,否则这种反转方法似乎最适合重叠匹配。而且代码量并没有那么大。而且,正则表达式模式也不难反转。我发现这已经说过了,但看起来,没有其他选择。实际上,有时我们还需要两种查找behind和look ahead(不常见:我想,我在16年的Perl中使用了大约5次)。如果您需要JavaScript中的可变宽度look ahead和look ahead,我建议您阅读Steven Levithan的文章,在这里您可以找到一个示例函数,展示如何使用Java实现该行为。