有人可以解释为什么这在Java中不起作用,但在我测试过的其他所有工具中都会出现。期望的字符串类型类似于:a004871-5553:z05072-990
预期结果是匹配行开头的a0
。
String[] parts = nextLine[0].split(":");
String part1 = parts[1];
if (part1.matches("a[0-9]"))....
答案 0 :(得分:1)
这一行是问题所在:
if (part1.matches("a[0-9]"))
因为String#matches
匹配完整输入而不仅仅是输入的一部分
这应该可行:
if (part1.matches("a[0-9-]+")) {...}