OPSDTLHDR 1000ACTIVE MATCHSOMETHING
INPTSTHDR AKKCCT_APSMATCHSOMETHING
在上图中,关键字为“ MATCH”。我想要MATCH周围的所有东西,但是我需要停在空白处。
从第一行开始,我需要MATCHSOMETHINGSOMETHING,从第二行开始,需要AKKCCT_APMATCHSOMETHING。
如果(MATCH)\w+
,则MATCHSOMETHINGSOMETHING正常,但仅从第二行获得MATCHSOMETHING。
如果是.+?(MATCH)\w+
,我会把这两行都找回来。
如果是\w+?(MATCH)\w+
,我会得到AKKCCT_APMATCHSOMETHING,但从头开始却什么也没有。
我正在使用Atom文本编辑器。
答案 0 :(得分:0)
模式(MATCH)\w+
将在捕获组中捕获MATCH
,然后是与MATCHSOMETHING
中的AKKCCT_APMATCHSOMETHING
相匹配的单词字符的一倍或多次
使用.+?(MATCH)\w+
将匹配两行,因为您使用的点还匹配一个空格,因此匹配到OPSDTLHDR 1000ACTIVE MATCH
,然后匹配其余的字符。
\w+?(MATCH)\w+
与第一个不匹配,因为\w+
与MATCH
前的至少一个单词字符匹配
您不能将空格字符\S
匹配零次或多次,之后不能依次匹配MATCH
和零次或多次匹配空白字符:
\S*MATCH\S*