在分隔符中转义元字符的python正则表达式
Python 2.4.4(是的,说来话长) 我想解析这个片段(用re) i、 例如,它(注释)可以包含字符(大写或小写)、数字、散列、括号、方括号、单引号和逗号,并且它(该片段)特别以dquote和逗号结尾 我已经用这个表情表达了这么多在分隔符中转义元字符的python正则表达式,python,regex,Python,Regex,Python 2.4.4(是的,说来话长) 我想解析这个片段(用re) i、 例如,它(注释)可以包含字符(大写或小写)、数字、散列、括号、方括号、单引号和逗号,并且它(该片段)特别以dquote和逗号结尾 我已经用这个表情表达了这么多 r'\"comment\":\"(?P<COMMENT>[a-zA-Z0-9\s]+)\",' r'\“comment\”:“(?P[a-zA-Z0-9\s]+)\”,” 但是,当然,它只在注释中没有任何元字符时匹配。最后一个\“,作为终
r'\"comment\":\"(?P<COMMENT>[a-zA-Z0-9\s]+)\",'
r'\“comment\”:“(?P[a-zA-Z0-9\s]+)\”,”
但是,当然,它只在注释中没有任何元字符时匹配。最后一个\“,作为终止标准。我尝试过各种逃避,双重逃避
能不能请一位“你是极客”开导一下?
我想以匹配方式访问“完整”注释。组[“注释”]
感谢那些使用基于正则表达式的解决方案的人。现在为我工作:)使用非贪婪的
*?
匹配“,
之前的任何内容,假设这是注释的结尾:
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?
重新导入
s=''注释:“#2当然,(这)不可能是任何[更]复杂的reg-ex?”,''
match=re.search(r''comment:“(?P.*?”,'s)
打印(match.group('comment'))
##2当然,(这)不可能是一个更复杂的注册ex吗?
您可以使用
(?p…)
命名匹配的字符串。您当前的正则表达式似乎暗示您正在查找字母字符,后跟空格,后跟数字,这根本不反映您的示例输入?您是在那里寻找一个特定的模式,还是在“
定界符内的任何模式?(在这种情况下,请使用[^”]
,或者如果输入可以包含\”
,请重复一组在\“
和[^”]
之间交替的模式,例如re.sub(r'[()“\”,“:?”,“,”,“,”,string)
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?