python正则表达式在分隔符之间转义元字符

2024-03-29 08:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

Python 2.4.4(是的,说来话长) 我想解析这个片段(用re)

    "comment":"#2 Surely, (this) can't be any [more] complicated a reg-ex?",

也就是说,它(注释)可以包含字符(大写或小写)、数字、散列、圆括号、方括号、单引号和逗号,它(这个片段)特别以dquote和逗号结尾

我已经用了这么久了

    r'\"comment\":\"(?P<COMMENT>[a-zA-Z0-9\s]+)\",'

但是,当然,它只在注释中没有任何元字符时匹配。最后一个\“,作为终止标准。我试过各种逃跑,双重逃跑。。。你知道吗

一个“你是极客”能开导一下吗? 我想访问“整个”评论作为匹配.组[“注释”]

  1. 当我被问到的时候,纠正了我实际使用的模式。我的坏浆糊。你知道吗
  2. 在标记了所有的“副本”之前,我不会拼写JSON。但是,我确实指定了我必须用re来做这件事。你知道吗
  3. 即使有了所有的JSON响应和代码片段,它直到2.6才被引入,而且我确实指定我仍然使用2.4.4。你知道吗

感谢那些响应基于regex的解决方案的人。现在为我工作:)


Tags: rejsonmorecommentanyberegthis
1条回答
网友
1楼 · 发布于 2024-03-29 08:17:07

使用非贪婪的.*?匹配",之前的任何内容,假设这是注释的结尾:

import re

s = '''"comment":"#2 Surely, (this) can't be any [more] complicated a reg-ex?",'''

match = re.search(r'"comment":"(?P<comment>.*?)",', s)
print(match.group('comment'))

# #2 Surely, (this) can't be any [more] complicated a reg-ex?

您可以使用(?P<group_name>…)命名匹配的字符串。你知道吗

相关问题 更多 >