import re
regex = re.compile(r"^\".*?\"$|^'.*?'$", flags=re.MULTILINE)
test_str = ("{k} must-match\n"
"{} jhtgj {} must-match\n"
"{ } not-match \n\n"
"'\"{firstName} {lastName}\" <{email}>'\n\n"
"{0.concat(\"8a b c d e\", 6)} must-match\n"
"s df s sd{\"one fielslkein 897sd'f8'97f 89s(*Y*&Sc {}d name\".toFixed(7 , 8)} must-match\n"
"s df s sd{'one fielslkein \"897sd\"f897f 89s(*Y*&Sc {}d name'.toFixed(7 , 8)} must-match\n"
"sd{0.concat(\"8a b c d e\", 6)} must-match\n\n"
"ascdac{ \"one fieldname\" } must-match\n"
"ascdac{ \"onefi eldname\".kk(kk, \"dd\") } must-match\n"
"{onefieldname.toFixed(7 , 8)} must-match\n"
"dfgsdg { \"onefieldname\".toFixed(7 , 8)} must-match\n"
"{onefieldname: \"toFixed(7 , 8)\"} not-match\n"
"{\"onefieldname\": \"toFixed(7 , 8)\"} not-match\n"
"{ \"onefiel dname\" : \"toFixed(7 , 8)\"} not-match\n"
"{ \"onefiel dname\": 8} not-match \n\n"
"{ \"o dna\" : {onefi eldname.l(7 , 8)} } not-match\n"
"{ \"o dna\" : {\"onefi eldname\".l(7 , 8)} } match-inner\n"
"{ \"f dna\" : {\"onefi eldname\".toFixed(7 , 8) }} match-inner\n"
"{ \"f dna\" : { \"onefi eldname\".toFixed(7 , 8) }} match-inner\n"
"{ \"o dme\" : {onefieldname.toFixed(7 , 8)} } match-inner\n"
"{ \"on dname\" : { onefieldname.toFixed(7 , 8)} } match-inner\n\n"
"{ {}: \"{}\" }\n"
"\"asdads\"\n"
"concat(\"1aa\")")
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