fork(2) download
  1. import re
  2.  
  3. p = re.compile(r'(?P<prefix>(?:\bu8|\b[LuU])?)(?:"(?P<dbl>[^"\\]*(?:\\.[^"\\]*)*)"|\'(?P<sngl>[^\'\\]*(?:\\.[^\'\\]*)*)\')|R"([^"(]*)\((?P<raw>.*?)\)\4"')
  4. s = "\"text'\\\"here\"\nL'text\\'\"here'\nu8\"text'\\\"here\"\nu'text\\'\"here'\nU\"text'\\\"here\"\nR\"delimiter(text\"'\"here)delimiter\""
  5. print(s)
  6. print('--------- Regex works below ---------')
  7. for x in p.finditer(s):
  8. if x.group("dbl"):
  9. print(x.group("dbl"))
  10. elif x.group("sngl"):
  11. print(x.group("sngl"))
  12. else:
  13. print(x.group("raw"))
Success #stdin #stdout 0.01s 9016KB
stdin
Standard input is empty
stdout
"text'\"here"
L'text\'"here'
u8"text'\"here"
u'text\'"here'
U"text'\"here"
R"delimiter(text"'"here)delimiter"
--------- Regex works below ---------
text'\"here
text\'"here
text'\"here
text\'"here
text'\"here
text"'"here