# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^(?:\"Flesh)|^(?:\"Primitive)|^(?:\"Mutant)|^(?:\"Sacred)|^(?:\"Super)|^(?:\"Meat of)"
test_str = ("\n"
"\"Black beetle killed. No beast soul gained. Eat the flesh of the black beetle to gain zero to ten geno points randomly.\"\n"
"\"Black beetle flesh eaten. Zero geno points gained.\"\n"
"\"Flesh of black beetle eaten. One sacred geno point gained.\"\n"
"\"Flesh of black beetle eaten. One sacred geno point gained.\"\n"
"\"Flesh of black beetle eaten. One sacred geno point gained.\"\n"
"\"Primitive creature green-scaled beast killed. No beast soul gained. Eat the flesh of the primitive green-scaled beast to gain zero to ten points randomly.\"\n"
"\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten primitive geno points randomly.\"\n"
"\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten points randomly.\"\n"
"\"Primitive creature swift mantis killed …\"\n"
"\"Primitive creature copper-toothed beast killed. No beast soul gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n"
"\"Primitive creature copper-toothed beast killed. Primitive beast soul of copper-toothed beast gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n"
"\"Sacred-blood bloody slayer killed. Sacred-blood beast soul bloody slayer gained. Eat the flesh of bloody slayer to gain zero to ten sacred geno points randomly.\"\n"
"\"Primitive green-scaled beast flesh eaten. One primitive geno point gained.\"\n"
"\"Mutant copper-toothed beast killed. No beast soul gained. Eat its flesh to gain zero to ten mutant geno points.\"\n"
"\"Mutant copper-toothed beast flesh eaten. One mutant geno point gained.\"\n"
"\"Primitive creature quartz scorpion killed. No beast soul gain. Eat the flesh of quartz scorpion to gain zero to ten primitive geno points.\"\n"
"\"Primitive quartz scorpion flesh eaten. Four primitive geno points gained.\"\n"
"\"Young obsidian dragon eaten. One sacred geno point gained…\"\n"
"\"Black beetle killed. No beast soul gained. Eat the flesh of the black beetle to gain zero to ten geno points randomly.\"\n"
"\"Black beetle flesh eaten. Zero geno points gained.\"\n"
"\"Flesh of black beetle eaten. One sacred geno point gained.\"\n"
"\"Flesh of black beetle eaten. One sacred geno point gained.\"\n"
"\"Flesh of black beetle eaten. One sacred geno point gained.\"\n"
"\"Primitive creature green-scaled beast killed. No beast soul gained. Eat the flesh of the primitive green-scaled beast to gain zero to ten points randomly.\"\n"
"\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten primitive geno points randomly.\"\n"
"\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten points randomly.\"\n"
"\"Primitive creature swift mantis killed …\"\n"
"\"Primitive creature copper-toothed beast killed. No beast soul gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n"
"\"Primitive creature copper-toothed beast killed. Primitive beast soul of copper-toothed beast gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n"
"\"Sacred-blood bloody slayer killed. Sacred-blood beast soul bloody slayer gained. Eat the flesh of bloody slayer to gain zero to ten sacred geno points randomly.\"\n"
"\"Primitive green-scaled beast flesh eaten. One primitive geno point gained.\"\n"
"\"Mutant copper-toothed beast killed. No beast soul gained. Eat its flesh to gain zero to ten mutant geno points.\"\n"
"\"Mutant copper-toothed beast flesh eaten. One mutant geno point gained.\"\n"
"\"Primitive creature quartz scorpion killed. No beast soul gain. Eat the flesh of quartz scorpion to gain zero to ten primitive geno points.\"\n"
"\"Primitive quartz scorpion flesh eaten. Four primitive geno points gained.\"\n"
"\"Young obsidian dragon eaten. One sacred geno point gained…\"\n"
"\"Sacred-blood creature purple-winged dragon killed. Sacred-blood beast soul of purple-winged dragon gained. Eat the flesh of purple-winged dragon to gain zero to ten sacred-blood geno points randomly.\"\n"
"\"Sacred-blood copper-toothed beast killed. No beast soul gained. Eat its meat to gain one to ten sacred geno points randomly.\"\n"
"\"Meat of copper-toothed beast eaten. One sacred geno point gained.\"\n"
"\"Meat of copper-toothed beast eaten. One sacred geno point gained.\"")
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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