# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^([^_\n]+)(?(?=_)|(?=\.jpg))"
test_str = ("EAR-LESS2.P.jpg\n"
"EAR-LONG.jpg\n"
"EAR-SPAR1.jpg\n"
"EAR-SUST.H.jpg\n"
"EAR-TANYIN.jpg\n"
"EF-GILD.H.jpg\n"
"EFR-CHASD2.jpg\n"
"EL-GOIN.P.jpg\n"
"EL-LOVE.jpg\n"
"EM-CHAS.jpg\n"
"EM-GARD.jpg\n"
"EM-MENW.jpg\n"
"EM-TENK.jpg\n"
"EM-THIR.H.jpg\n"
"EM-WHATC.P.jpg\n"
"EMO-ANTI.S_1.jpg\n"
"EMO-SOUN.jpg\n"
"EO-AMIL1.jpg\n"
"EO-BIURT.jpg\n"
"EO-CHASI.jpg\n"
"EO-ETER.jpg\n"
"EO-FOUR.jpg\n"
"EO-GPSHM.H.jpg\n"
"EO-HAPP.jpg\n"
"EO-INNEW.jpg\n"
"EO-JEWIBLAL.jpg\n"
"EO-JEWIL.jpg\n"
"EO-LETTOL.jpg\n"
"EO-PARSM2.jpg\n"
"EO-PRAYPO1.jpg\n"
"EO-SECO.jpg\n"
"EO-SPIR.jpg\n"
"EO-TEACAHP.jpg\n"
"EO-TEFI.jpg\n"
"EO-THIN.jpg\n"
"EO-TOBE.jpg\n"
"EO-UPSH.jpg\n"
"EO-VISU.jpg\n"
"EO-YAHASP.jpg\n"
"EP-STH.SFLE.jpg\n"
"ERE-BEYO.jpg\n"
"ERE-BRIN.L.jpg\n"
"ERE-BRIN.M.jpg\n"
"ERE-MIND.jpg\n"
"ERE-ONEBO.jpg\n"
"ERE-PROC4.jpg\n"
"ERE-TOWA.p.jpg\n"
"HAR-LIKUAHS_1.jpg\n"
"HAR-SHAAYVITPK.jpg\n"
"HAR-SM64.jpg\n"
"HAR-TANYCM5.jpg\n"
"HAR-TANYCM7.jpg\n"
"HFR-MAAM1.jpg\n"
"HFR-MAAM3.jpg\n"
"HFR-ZICH.S_1.jpg\n"
"HFR-ZICH.S_2.jpg\n"
"HH-TOLDCP.jpg\n"
"HH-TOLDCRT.jpg\n"
"HKO-28SIVA.jpg\n"
"HMR-ATER.jpg\n"
"HMR-SMD2.jpg\n"
"HO-CHON.S_1.jpg\n"
"HO-CHON.S_3.jpg\n"
"HO-HASH3.jpg\n"
"HO-HASH4.jpg\n"
"HO-TANYLKV.jpg\n"
"HO-TISH.jpg\n"
"HO-YALKLY1.jpg\n"
"HO-YALKLY3.jpg\n"
"HO-YALKLYMC.jpg\n"
"HO-YAMITPE.jpg\n"
"HP-HAGG.KITZEE.jpg\n"
"HP-HAGG.S_1.jpg\n"
"HP-HAGG.Y.jpg\n"
"HP-STH.NSGR.jpg\n"
"HP-STMH_1.jpg\n"
"HRE-BIURBR_2.jpg\n"
"HRE-HAME_1.jpg\n"
"HRE-HAME_2.jpg\n"
"HRE-HASIS.jpg\n"
"HRE-HAYO.MEV_2.jpg\n"
"HRE-HAYOYMH.jpg\n"
"HRE-MAAY.jpg\n"
"HRE-OTSALSKY.jpg\n"
"HRE-SHAAEY.jpg\n"
"HRE-SHAAMYO.jpg\n"
"HRE-SHAAMYU.jpg\n"
"HRE-SMMC.jpg\n"
"HRE-SMMRH.jpg\n"
"HRE-TM1.l.jpg\n"
"HRE-TM10.jpg\n"
"HRE-TM18.jpg\n"
"HRE-TM21.jpg\n"
"HRE-TM30.jpg\n"
"HRE-TM35.jpg\n"
"HRE-TM37.jpg\n"
"HRE-TM41.jpg\n"
"HRE-TM54.jpg\n"
"HRE-TM57.jpg\n"
"HRE-TM62.jpg\n"
"HRE-TM71.jpg\n"
"HRE-TMMAFT_1.jpg\n"
"HRE-TMTLYV.OLD.jpg\n"
"HRE-VEAT.jpg\n"
"HRR-SM72BESH1.jpg\n"
"HRR-SM72BESH3.jpg\n"
"HTZ-HACH.jpg\n"
"HTZ-MAFT.jpg\n"
"HTZ-OHBA3.jpg\n"
"HTZ-OHBR5.jpg\n"
"HTZ-OHBR6.jpg\n"
"HTZ-OHD2.jpg\n"
"HTZ-OHD3.jpg\n"
"HTZ-OHN1.jpg\n"
"HTZ-OHN3.jpg\n"
"HTZ-OHS5.jpg\n"
"HTZ-OHS6.jpg\n"
"HTZ-OHSH1.jpg\n"
"HTZ-OHSH2.jpg\n"
"HTZ-OHSH2.jpg\n"
"HTZ-SLA3.jpg\n"
"HTZ-SLA4.jpg\n"
"HTZ-SLC1.jpg\n"
"HTZ-SLC2.jpg\n"
"HTZ-SLK.jpg\n"
"HTZ-SLM3.jpg\n"
"HTZ-SLMA.jpg\n"
"HTZ-SLMI.jpg\n"
"HTZ-SLS.jpg\n"
"HTZ-SLY3.jpg\n"
"HTZ-SMH1.jpg\n"
"efr-ss98.jpg\n"
"el-shabp.jpg\n"
"em-some.jpg\n"
"eo-248p.jpg\n"
"eo-jewi1.jpg\n"
"eo-littbbi.jpg\n"
"ep-sibc.ws.jpg\n"
"ere-beac.jpg\n"
"ere-holi.sb_1.jpg\n"
"ere-seek.jpg\n"
"ese-talk.p.jpg\n"
"har-shiu.s_2.jpg\n"
"har-shiu.s_3.jpg\n"
"har-tany.loh.jpg\n"
"hfr-ik10.jpg\n"
"hfr-ik11.jpg\n"
"hfr-ik15.jpg\n"
"hfr-ik17.jpg\n"
"hfr-ik6.jpg\n"
"hfr-likud.s_1.jpg\n"
"hfr-sm80.jpg\n"
"hfr-sm92.jpg\n"
"hku-tziy.jpg\n"
"ho-biurl.jpg\n"
"ho-yeso.jpg\n"
"hp-sth.ln.jpg\n"
"hp-tehi.l.jpg\n"
"hre-ik11.jpg\n"
"hre-ik13.jpg\n"
"hre-ik14.jpg\n"
"hre-ik15.jpg\n"
"hre-ik16.jpg\n"
"hre-ik18.jpg\n"
"hre-ik2.jpg\n"
"hre-ik20.jpg\n"
"hre-ik22.jpg\n"
"hre-ik23.jpg\n"
"hre-ik27.jpg\n"
"hre-ik31.jpg\n"
"hre-ik33.jpg\n"
"hre-ik4.jpg\n"
"hre-ik5.jpg\n"
"hre-ik9.jpg\n"
"hre-ikm1.jpg\n"
"hre-ikm3.jpg\n"
"hre-klalrs.jpg\n"
"hre-ls2.jpg\n"
"hre-ls26.jpg\n"
"hre-ls28.jpg\n"
"hre-ls32.jpg\n"
"hre-ls36.jpg\n"
"hre-otsaik.jpg\n"
"hre-shaag_1.jpg\n"
"hre-smm.s_1.jpg\n"
"hre-smm.s_4.jpg\n"
"hrm-ik.jpg\n"
"hrm-sm26.jpg\n"
"hrm-sm28.jpg\n"
"hrm-sm32.s_2.jpg\n"
"hrm-sm33.s_1.jpg\n"
"hrm-sm37.s_1.jpg\n"
"hrm-sm41.jpg\n"
"hrr-ik3.jpg\n"
"hrr-ik5.jpg\n"
"hrr-sm43.jpg\n"
"hrr-sm52.jpg\n"
"hrr-sm59.jpg\n"
"hrr-sm66yomt.jpg\n"
"hrr-sm69.jpg\n"
"hrr-sm79.jpg\n"
"htz-tzemtoc_1.jpg")
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