使用正则表达式匹配关键字后的重复组
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}
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}