Javascript 分析两个文本之间的字符串

Javascript 分析两个文本之间的字符串,javascript,Javascript,我想在字符串之间进行解析 比如说 str='uu2uu4uuu' 虽然当我使用 警报(str.match(/(2\S+?4)+/ig)) 当我只想要'uuuu'时,我从外部得到'2uuuu4'。如果使用标志'g',它将匹配所有字符串,而不管它是分组的'()'。 你需要这样的东西 var str='uu2uuuu4uuu'; alert(str.match(/2([^24]+)+4/i)); 或者消除该地区的任何数字 alert(str.match(/\d+([^\d]+)+\d+/i));

我想在字符串之间进行解析

比如说 str='uu2uu4uuu'

虽然当我使用

警报(str.match(/(2\S+?4)+/ig))


当我只想要'uuuu'时,我从外部得到'2uuuu4'。

如果使用标志'g',它将匹配所有字符串,而不管它是分组的'()'。 你需要这样的东西

var str='uu2uuuu4uuu';
alert(str.match(/2([^24]+)+4/i));
或者消除该地区的任何数字

alert(str.match(/\d+([^\d]+)+\d+/i));

你想要的东西需要先看后看。例如:

(?<=START)(.*?)(?=END)
是这样的:

START(.*?)(?=END)
var str = 'uu2uuuu4uuu';
var match = str.match(/2(.*?)(?=4)/i);
alert(match[1]);
或者这个:

var str = 'uu2uuuu4uuu';
var match = str.match(/2(\S+?)(?=4)/i);
alert(match[1]);

你明白了。我还没有找到更好的方法在javascript中模拟正则表达式lookbehind。

您想做什么?是否要卸下2和4?如果是这样,你可以做一个替换,如果是这样的话,就用“uuu”替换它。您正在匹配2UUU4,对吗?match函数将返回匹配的零件。如果你在寻找uuu,那会是一个不同的故事。是的,就像匹配得到了所有的一样,虽然我希望它从开始加上长度,从结束减去长度,所以它只给出中间,没有其他。那么你想要匹配的值,只删除第一个元素和最后一个元素?对返回的字符串值执行子字符串,删除第一个元素并保留所有其他元素。沿着x.子串(1,x.长度)的线的东西;其中x是匹配的值我不支持?你能举个例子吗?它不仅仅是数字,可以是str start end。第一个代码是'2uuuuuuuu4,uuuuuu',我如何得到'uuuuuu'?str.match(/2([^24]+)+4/I)[1]match总是返回一个数组,其中第一个元素就是所有结果
var str = 'uu2uuuu4uuu';
var match = str.match(/2(.*?)(?=4)/i);
alert(match[1]);
var str = 'uu2uuuu4uuu';
var match = str.match(/2(\S+?)(?=4)/i);
alert(match[1]);