我有一个这样的字符串:
REFORMAT FIELDS=(F1:%[VER#,SAH#]%,%SAH#%,F2:%KMSTAND%)
我正在尝试使用以下正则表达式来获取“F1:”之后直到“F2”的所有字符:
(F1|F2):(.*?)(?:(?=,F))
它匹配第一部分,但它也应该得到第二部分。所以前瞻功能只能是可选的。怎么了?
编辑: 我的代码:
Matcher fields = Pattern.compile("(F1|F2):(.*?)(?:(?=,F))").matcher(line);
while (fields.find()) {
//do something with fields.group(2)
}