import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^.*:\\s+([A-Z].*)_(\\D+)_(\\d+).*";
final String string = "dog-Cf-Nox1: Porites_lobata_1381 49.126 572 275 8 1 564 1 564 0.0 563\n"
+ "dog-Cf-Nox1: Porites_australiensis_5912 48.776 572 277 8 1 564 1 564 0.0 560\n"
+ "dog-Cf-Nox1: Astreopora_sp_20372 48.776 572 276 9 1 564 1 563 0.0 555\n"
+ "dog-Cf-Nox1: Montastraea_cavernosa_106939 48.148 567 279 7 5 564 6 564 0.0 555\n"
+ "dog-Cf-Nox1: Seriatopora_hystrix_66126 50.000 554 262 7 18 564 19 564 0.0 553\n"
+ "dog-Cf-Nox1: Porites_australiensis_4812 46.946 573 287 6 1 564 1 565 0.0 553\n"
+ "dog-Cf-Nox1: Stylophora_pistillata_7748 49.009 555 268 7 17 564 18 564 0.0 550\n"
+ "dog-Cf-Nox1: Porites_lobata_724 46.435 575 289 7 1 564 1 567 0.0 548\n"
+ "dog-Cf-Nox1: Acropora_digitifera_16260 46.935 571 288 7 1 564 1 563 0.0 538";
final String subst = "\\1,\\2,\\3";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html