使用我找到的 SO 上的示例代码和我正在搜索的字符串,我试图捕获飞机类及其座位组。输入文件的飞机配置格式为 J28W36Y156,表示 28 个 J(商务)舱座位、36 个 W(高级经济舱座位)和 156 个 Y(经济舱)座位。
我使用的Java代码如下:
s = "J12W28Y156";
patternStr = "(\\w\\d+)+";
p = Pattern.compile(patternStr);
m = p.matcher(s);
if (m.find()) {
int count = m.groupCount();
System.out.println("group count is "+count);
for(int i=1;i<=count;i++){
System.out.println(m.group(i));
}
}
正则表达式似乎只捕获最后一个班级座位配置,即。Y156。如何让这个正则表达式捕获多个组中的所有班级/座位组合。这是否与我需要指定的“贪婪”匹配有关?我希望输出类似于数组,例如。
{J12,W28,Y156}
多谢你们。