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]+)\",'
但是,当然,仅当注释中没有任何元字符时,它才匹配。最后一个\“,作为终止条件。我尝试了各种转义,双重转义...
请问一种“怪胎”可以启发吗? 我想以match.group [“ COMMENT”]
的形式访问“整个”评论感谢那些使用基于正则表达式的解决方案的人。现在为我工作:)
答案 0 :(得分:0)
使用非贪婪的.*?
来匹配",
之前的所有内容,并假定此内容为注释的结尾:
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>…)
来命名匹配的字符串。