我正在使用ply编写一个解析器,该解析器需要标识FORTRAN字符串文字。这些用单引号引起来,而转义字符是单引号的两倍。 IE。
'I don''t understand what you mean'
是有效的转义FORTRAN字符串。

Ply以正则表达式接受输入。到目前为止,我的尝试没有用,我也不明白为什么。
t_STRING_LITERAL = r"'[^('')]*'"
有任何想法吗?

最佳答案

字符串文字是:

  • 打开的单引号,后跟:
  • 任意数量的双引号和非单引号,然后是
  • 单引号。

  • 因此,我们的正则表达式为:
    r"'(''|[^'])*'"
    

    关于python - 如何编写正则表达式以匹配转义符是引号字符的两倍的字符串文字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2143235/

    10-13 07:12
    查看更多