使用正则表达式匹配关键字后的重复组

Match repeated groups after keyword using regex

VB2010 使用 regex 我似乎无法使这个看似简单的 regex 工作。我首先查找包含我的数据的关键字 TRIPS 的行,然后我想从该行中提取由字母代码和数字组成的重复数据组。

MODES       1       0       0  
OVERH   X  28   H   0   Z 198  
TRIPS   X  23   D   1   Z 198  
ITEMSQ      1       0       0  
COSTU   P  16   E 180  
CALLS       0       0 

我有

^TRIPS   (?<grp>[A-Z]\s{1,4}\d{1,3}) 

这给了我一场比赛和第一组 "X 23"。所以我通过允许它最多匹配 4 个组来扩展它。

^TRIPS   (?<grp>[A-Z]\s{1,4}\d{1,3}){0,4}

但我得到了一场比赛,仍然只有一组。

您不允许在组之间出现白色 space。你需要做这样的事情:

^TRIPS   ((?<grp>[A-Z]\s{1,4}\d{1,3})\s+){0,4}