关键字周围的所有字符,但停在空格

时间:2018-10-16 15:58:42

标签: regex string atom-editor

enter image description here

OPSDTLHDR 1000ACTIVE MATCHSOMETHING

INPTSTHDR AKKCCT_APSMATCHSOMETHING

在上图中,关键字为“ MATCH”。我想要MATCH周围的所有东西,但是我需要停在空白处。

从第一行开始,我需要MATCHSOMETHINGSOMETHING,从第二行开始,需要AKKCCT_APMATCHSOMETHING。

如果(MATCH)\w+,则MATCHSOMETHINGSOMETHING正常,但仅从第二行获得MATCHSOMETHING。

如果是.+?(MATCH)\w+,我会把这两行都找回来。

如果是\w+?(MATCH)\w+,我会得到AKKCCT_APMATCHSOMETHING,但从头开始却什么也没有。

我正在使用Atom文本编辑器。

1 个答案:

答案 0 :(得分:0)

模式(MATCH)\w+将在捕获组中捕获MATCH,然后是与MATCHSOMETHING中的AKKCCT_APMATCHSOMETHING相匹配的单词字符的一倍或多次

使用.+?(MATCH)\w+将匹配两行,因为您使用的点还匹配一个空格,因此匹配到OPSDTLHDR 1000ACTIVE MATCH,然后匹配其余的字符。

\w+?(MATCH)\w+与第一个不匹配,因为\w+MATCH前的至少一个单词字符匹配

您不能将空格字符\S匹配零次或多次,之后不能依次匹配MATCH和零次或多次匹配空白字符:

\S*MATCH\S*

Regex demo