Regex 正则表达式在两个字符串之间匹配,并包含另一个字符串

Regex 正则表达式在两个字符串之间匹配,并包含另一个字符串,regex,Regex,这是我的输入字符串 2014.10.30: b l ah bl a h 2014.10.30: bfoo lah b l ah 2014.10.30: bart1 lah baloon l ah 2014.10.30: carb lah b l ah 2014.10.30: farb2 lah baloon l ah

这是我的输入字符串

2014.10.30: b
l
ah bl
a
h  
2014.10.30: bfoo  
lah  
b  
l  
ah   
     2014.10.30: bart1  
     lah  
     baloon  
     l  
     ah  
2014.10.30: carb  
lah  
b  
l  
ah  
     2014.10.30: farb2  
     lah  
     baloon  
     l  
     ah  
2014.10.30: carb  
lah  
b  
l  
ah  
2014.10.30: bom  
lah  
baloob  
l  
ah  
etc
我想对以下内容进行匹配(2014年版本中有baloon一词):

这就是我所拥有的

/(2014)(.*?baloon.*)(?:2014)/gsmi  
这与2014年第一次发生时的情况相符。而且它只返回一场自下而上的比赛。此处

使用先行断言

2014(?:(?!2014).)*?baloon.*?(?=\n2014)

2014(?:(?!2014).)*?baloon(?:(?!2014).)*?(?=\n2014)
(?:(?!2014)。*?
将匹配任何字符,但不匹配
2014
。这表明在2014年开始和巴隆之间不存在字符串
2014


不同的编程语言具有不同的正则表达式风格。其中大多数支持“getNextMatch”。例如:
2014(?:(?!2014).)*?baloon.*?(?=\n2014)
2014(?:(?!2014).)*?baloon(?:(?!2014).)*?(?=\n2014)