import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?im)^(?:[^a-z].*\\r?\\n)*([a-z]+).*(\\r?\\n[^a-z].*)*";
final String string = "(IUPAC: Disilver sulfide)\n"
+ "Acanthite (Y: 1855) 02.BA.35 [18] [19] [20]\n"
+ "(IUPAC: Disilver sulfide)\n"
+ "Acetamide (1974-039) 10.AA.20 [21] [22] [23]\n"
+ "(IUPAC: Acetic acid amide)\n"
+ "Achalaite (2013-103) 04.?? [24] [no] [no]\n"
+ "Achavalite (Y: 1939";
final String subst = "$1";
final Pattern pattern = Pattern.compile(regex);
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