正则表达式在Javascript中获取两个字符串之间的字符串

前端之家收集整理的这篇文章主要介绍了正则表达式在Javascript中获取两个字符串之间的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现非常相似的帖子,但我不能得到我的正则表达式在这里。

我试图写一个正则表达式,返回一个字符串,在两个其他字符串之间。例如:我想得到字符串“牛”和“牛奶”之间的字符串,

My cow always gives milk

会返回

“always gives”

这里是我拼凑在一起的表达式:

(?=cow).*(?=milk)

但是这返回字符串“cow always give”

我能够得到我需要使用下面的Martinho Fernandes的解决方案。确切的代码是:

var test = "My cow always gives milk";

var testRE = test.match("cow(.*)milk");
alert(testRE[1]);

你会注意到,我正在警告testRE变量作为一个数组。这是因为testRE因为某种原因作为数组返回。输出

My cow always gives milk

更改为:

always gives

前瞻((?= part)不消耗任何输入。它是一个零宽度断言(如边界检查和后瞻)。

你想在这里定期匹配,消耗牛部分。要捕获之间的部分,您使用捕获组(只需将要捕获的模式的部分放在括号中):

cow(.*)milk

根本不需要前瞻。

猜你在找的正则表达式相关文章