Это часть проекта класса. Я построил сканер с помощью Java, который сканирует код Python. Теперь мне нужно сравнить время выполнения с реализацией Flex сканера Python.Как правильно сопоставить строковый литерал Python с регулярным выражением?
Так что я пытаюсь сопоставить строковый литерал Python с помощью Flex. Я пытаюсь преобразовать string literal specification из документов Python в регулярное выражение C.
Это то, что я до сих пор:
[r|u|ur|R|U|UR|Ur|uR|b|B|br|Br|bR|BR]?('(([^\\]|[^\n]|[^'])|\\.)*'|\"(([^\\]|[^\n]|[^'])|\\.)*\"|'''([^\\]|\\.)*'''|\"\"\"([^\\]|\\.)*\"\"\")
Но когда я применяю его на следующий текст:
r'' lol
r''
Это соответствует обеим линиям. Я хочу, чтобы он соответствовал каждому r''
отдельно и игнорировал что-либо за пределами кавычек.