Regex 使用升华正则表达式搜索3个彼此接近的对象

Regex 使用升华正则表达式搜索3个彼此接近的对象,regex,sublimetext2,plaintext,Regex,Sublimetext2,Plaintext,我试图在正则表达式中搜索三个彼此接近的字符串,我使用的是Sublime text 2,只是使用屏幕底部的正则表达式命令行。我一直在修修补补,但还没弄明白。 我正在搜索10000行代码,字符串帮助我找到某些错误 我用的是sublime 2,我用它可以得到两样东西 \word1.(?:..){1,750}?word2\b 当我尝试这个的时候 \word1.(?:..){1,750}?word2\b | \word2.(?:..){1,750}?word3\b 它给了我一个或语句,我正在寻找一个和

我试图在正则表达式中搜索三个彼此接近的字符串,我使用的是Sublime text 2,只是使用屏幕底部的正则表达式命令行。我一直在修修补补,但还没弄明白。 我正在搜索10000行代码,字符串帮助我找到某些错误 我用的是sublime 2,我用它可以得到两样东西

\word1.(?:..){1,750}?word2\b
当我尝试这个的时候

\word1.(?:..){1,750}?word2\b | \word2.(?:..){1,750}?word3\b
它给了我一个
语句,我正在寻找一个
语句

到目前为止,这就是我所尝试的

\word1.(?:..){1,750}?word2\b | \word2.(?:..){1,750}?word3\b

这就是你要找的
word1(?:){1750}?word2(?:){1750}?word3


我们是否可以在嵌入字符串的其他一些数据的上下文中看到您想要的字符串?
语句在regex中用
表示,但是
是用
*
表示的,因为我们必须考虑两种可能的位置:
1.*2
2.*1
。有3种选择,情况更糟。但是,如果必须在一行中显示所有内容,则可以使用lookaheads:
(?m^(?=.*1)(?=.*2)(?=.*3)。*
匹配该行。如果可以有换行符,则需要在模式的开头使用
(?s)
强制多行模式。这有效吗
\word1.(?:…{1750}word2\b(?:…{1750}?word3\b
@Diego它不起作用不幸的是,我把它扔进了regexr和sublime,但都没想到什么,我使用的三个字符串显然彼此非常接近,我会继续修补,第一周就搞乱regexr