你真的必须使用正则表达式吗?Jahroy 提出了更快的建议
String[] data = { "Derpity64_1 64 3 6 1", "HerpDerp32 1 6 3 0 26",
"HurrDurr16 2 5 7 7 78" };
for(String s:data){//iterate over all Strings in 'data' array
if (s.startsWith("HerpDerp"))//check if tested string starts with HerpDerp
//HerpDerp32 1 6 3 0 26
// ^^
//0123456789
//show only chars from 8 till 9 index
System.out.println(s.substring(8,10));//(10 is excluded)
}
编辑:
我不确定这是否是您正在寻找的,因为它基于您的原始问题,但请使用您的数据和正则表达式尝试它。
String[] data = { "Derpity64_1 64 3 6 1", "HerpDerp32 1 6 3 0 26",
"HurrDurr16 2 5 7 7 78" };
Pattern p=Pattern.compile("^HerpDerp(\\d*)");
for (String s : data) {
Matcher m=p.matcher(s);
if(m.find())
System.out.println(m.group(1));
//group(1) will return content from first bracket in regex
}