regex 方括号中的Python正则表达式findall [重复]

9q78igpj  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(94)

此问题在此处已有答案

Python regex matching multiline string(4个答案)
5天前关闭。
我有以下正文,我想提取方括号之间的所有数据,例如。对于给定文本

a = '\tvar mydata = [{\nZWeight:"13.00",\nStyleName:"FIRECREEK SOLID",\nColorName:"TRADITION"\n}\n]'

字符串
我想提取

{\nZWeight:"13.00",\nStyleName:"FIRECREEK SOLID",\nColorName:"TRADITION"\n}


我试过了

re.findall(r'var mydata = \[(.*?)\]',a)


但查到的是一个空名单任何帮助将是伟大的!

mw3dktmi

mw3dktmi1#

源字符串中的\n换行符可能是问题所在。在non dot all模式下,.*不能遍历换行符。尝试在dot all模式下运行正则表达式find all:

a = '\tvar mydata = [{\nZWeight:"13.00",\nStyleName:"FIRECREEK SOLID",\nColorName:"TRADITION"\n}\n]'
output = re.findall(r'var mydata = \[(.*?)\]', a, flags=re.S)
print(output)

# ['{\nZWeight:"13.00",\nStyleName:"FIRECREEK SOLID",\nColorName:"TRADITION"\n}\n']

字符串

相关问题