Python 无法从JSON正确加载正则表达式
案例结束:毕竟我是正确加载的,但代码中的其他次优行为让我认为我不是Python 无法从JSON正确加载正则表达式,python,json,regex,Python,Json,Regex,案例结束:毕竟我是正确加载的,但代码中的其他次优行为让我认为我不是 我正在从JSON加载正则表达式字符串: “版本方案”:{ “类型”:“元组”, “re”:“数据文件=\”kitty\u便携式-(.*)\\.exe“” } 但是,使用re.findall(…),我将[]放回到这样的草堆上(这将是使用请求模块发出的get请求的文本属性): 您的正则表达式当然应该在Python中工作: inp='something data file=“kitty_portable-0.74.4.10.exe
我正在从JSON加载正则表达式字符串:
“版本方案”:{
“类型”:“元组”,
“re”:“数据文件=\”kitty\u便携式-(.*)\\.exe“”
}
但是,使用re.findall(…)
,我将[]
放回到这样的草堆上(这将是使用请求
模块发出的get请求的文本
属性):
您的正则表达式当然应该在Python中工作:
inp='something data file=“kitty_portable-0.74.4.10.exe”something'
matches=re.findall(r'data-file=“kitty_portable-(.*?\.exe)”,inp)
打印(匹配)#['0.74.4.10']
双引号“
需要是双引号(\\”
)或三重转义(\\”
)
文字点
需要四倍转义(\\\.
)
反向工作
所需的原始字符串:
r'data-file="kitty_portable-(.*?)\.exe"'
'data-file="kitty_portable-(.*?)\\.exe"'
所需的字符串:
r'data-file="kitty_portable-(.*?)\.exe"'
'data-file="kitty_portable-(.*?)\\.exe"'
要存储为JSON的字符串:
'data-file=\\"kitty_portable-(.*?)\\\\.exe\\"'
- 每个双引号
“
都需要用双反斜杠或三反斜杠转义
- 文字点前面的两个反斜杠中的每一个都需要用一个反斜杠转义
您正在搜索的文本是什么?当前和预期的输出是什么?我在顶部放了一个摘要版本。谢谢,欢迎!结果证明我当时正确地存储/加载了它。我曾考虑删除这个问题,但将留给你和蒂姆的贡献。