Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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 - Fatal编程技术网

Javascript 获取两个单词之间的字符串,这两个单词包含在他体内

Javascript 获取两个单词之间的字符串,这两个单词包含在他体内,javascript,regex,Javascript,Regex,我有字符串,我想在其中找到两个单词:START和END 开始和结束总是在一起(也许它们之间会有另一个字符,但如果我有开始,我也会有结束) 在第一个开始和最后一个结束之间,我可以有另一对开始和结束 我尝试使用regEx源代码查找第一个开始,而不是他自己的结束,它将在它们之间返回正确的子字符串 这是我需要的正则表达式图表: (我需要获取从第一个开始到最后一个结束之间的字符串) 以下正则表达式的第一个匹配项是您的字符串 正则表达式: [^start](.*)(end){1} JavaScript:

我有字符串,我想在其中找到两个单词:
START
END

开始
结束
总是在一起(也许它们之间会有另一个字符,但如果我有
开始
,我也会有
结束

在第一个
开始
和最后一个
结束
之间,我可以有另一对
开始
结束

我尝试使用regEx源代码查找第一个
开始
,而不是他自己的
结束
,它将在它们之间返回正确的子字符串


这是我需要的正则表达式图表:

(我需要获取从第一个
开始
到最后一个
结束
之间的字符串)


以下正则表达式的第一个匹配项是您的字符串

正则表达式:

[^start](.*)(end){1}
JavaScript:

// returns "start end "
'start start end end'.match(/[^start](.*)(end){1}/)[1]

示例:

我只会使用简单的js indexOf和lastIndexOf,而不是正则表达式:

var outerText = 'something test start something else some more test start end some more end some more'
var s = outerText.indexOf("start");
var e = outerText.lastIndexOf("end");

var innerText = outerText.substring(s+5, e);

如果我理解你,这就是你想要的

/START (.*) END/

示例:

你昨天问了同样的问题。为什么重复同样的问题?如果你有什么要补充澄清的,只需编辑你现有的问题。为什么要使用正则表达式呢?@Abhitalks那里没有人理解我,所以我写了一个新的,这可能会让人们更好地理解我。如果我只是更新它,可能没有人读过该更新。这不是它的工作原理,也不会增加可见性的机会。事实上,它很容易被关闭和删除。为了增加用户的注意力,您应该尝试改进现有的问题。但是,如果我有这个字符串“START END”,我就没有正确的字符串。看我添加的图表,第一个开始和最后一个结束之间的字符串是“结束”,在这种情况下,你想要什么?