猿问

请问该怎么用ply来做这个事情呢 ?

我的提取字符串的token函数是:

def t_STRING(t):    r'\"([^\"]|\\.)*\"'
    t.value = t.value[1:-1]    return t

有个办法是:

t.value=t.value.decode("string-escape")

但是这样并不能处理

\n, \t ,等复杂些的和自定义的转义


慕森王
浏览 84回答 2
2回答

哈士奇WWW

ES = r"""(\\(['"\?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F0-9]+))"""STR = r'\"([^"\\\n]|'+ES+')*\"'@TOKEN(STR)def t_STRING(t):     t.value = t.value[1:-1]    return t

潇潇雨雨

利用下 json 的 loads 好啦
随时随地看视频慕课网APP

相关分类

Python
我要回答