这是课堂项目的一部分。我使用 Java 构建了一个扫描 Python 代码的扫描仪。现在我必须将运行时间与 Python 扫描仪的 Flex 实现进行比较。
所以我正在尝试使用 Flex 匹配 Python 字符串文字。我正在尝试将字符串文字规范从 Python 文档转换为 C 正则表达式。
这是我到目前为止所拥有的:
[r|u|ur|R|U|UR|Ur|uR|b|B|br|Br|bR|BR]?('(([^\\]|[^\n]|[^'])|\\.)*'|\"(([^\\]|[^\n]|[^'])|\\.)*\"|'''([^\\]|\\.)*'''|\"\"\"([^\\]|\\.)*\"\"\")
但是当我将它应用于以下文本时:
r'' lol
r''
它匹配两条线。我希望它分别匹配每个r''
并忽略引号之外的任何内容。