import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "e.+[hktv]|oh?r.+m|p...?o|r.*ci|be?.i|^c?u|rad|sta|has|ct|fe";
final String string = "technetium\n"
+ "promethium\n"
+ "polonium\n"
+ "astatine\n"
+ "radon\n"
+ "francium\n"
+ "radium\n"
+ "actinium\n"
+ "thorium\n"
+ "protactinium\n"
+ "uranium\n"
+ "neptunium\n"
+ "plutonium\n"
+ "americium\n"
+ "curium\n"
+ "berkelium\n"
+ "californium\n"
+ "einsteinium\n"
+ "fermium\n"
+ "mendelevium\n"
+ "nobelium\n"
+ "lawrencium\n"
+ "rutherfordium\n"
+ "dubnium\n"
+ "seaborgium\n"
+ "bohrium\n"
+ "hassium\n"
+ "meitnerium\n"
+ "darmstadtium\n"
+ "roentgenium\n"
+ "copernicium\n"
+ "ununtrium\n"
+ "flerovium\n"
+ "ununpentium\n"
+ "livermorium\n"
+ "ununseptium\n"
+ "ununoctium\n\n"
+ "hydrogen\n"
+ "helium\n"
+ "lithium\n"
+ "beryllium\n"
+ "boron\n"
+ "carbon\n"
+ "nitrogen\n"
+ "oxygen\n"
+ "fluorine\n"
+ "neon\n"
+ "sodium\n"
+ "magnesium\n"
+ "aluminium\n"
+ "silicon\n"
+ "phosphorus\n"
+ "sulphur\n"
+ "chlorine\n"
+ "argon\n"
+ "potassium\n"
+ "calcium\n"
+ "scandium\n"
+ "titanium\n"
+ "vanadium\n"
+ "chromium\n"
+ "manganese\n"
+ "iron\n"
+ "cobalt\n"
+ "nickel\n"
+ "copper\n"
+ "zinc\n"
+ "gallium\n"
+ "germanium\n"
+ "arsenic\n"
+ "selenium\n"
+ "bromine\n"
+ "krypton\n"
+ "rubidium\n"
+ "strontium\n"
+ "yttrium\n"
+ "zirconium\n"
+ "niobium\n"
+ "molybdenum\n"
+ "ruthenium\n"
+ "rhodium\n"
+ "palladium\n"
+ "silver\n"
+ "cadmium\n"
+ "indium\n"
+ "tin\n"
+ "antimony\n"
+ "tellurium\n"
+ "iodine\n"
+ "xenon\n"
+ "caesium\n"
+ "barium\n"
+ "lanthanum\n"
+ "cerium\n"
+ "praseodymium\n"
+ "neodymium\n"
+ "samarium\n"
+ "europium\n"
+ "gadolinium\n"
+ "terbium\n"
+ "dysprosium\n"
+ "holmium\n"
+ "erbium\n"
+ "thulium\n"
+ "ytterbium\n"
+ "lutetium\n"
+ "hafnium\n"
+ "tantalum\n"
+ "tungsten\n"
+ "rhenium\n"
+ "osmium\n"
+ "iridium\n"
+ "platinum\n"
+ "gold\n"
+ "mercury\n"
+ "thallium\n"
+ "lead\n"
+ "bismuth";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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