import re
regex = re.compile(r"e.+[hktv]|oh?r.+m|p...?o|r.*ci|be?.i|^c?u|rad|sta|has|ct|fe", flags=re.MULTILINE)
test_str = ("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")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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 Python, please visit: https://docs.python.org/3/library/re.html