Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法从JSON正确加载正则表达式_Python_Json_Regex - Fatal编程技术网

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\\"'
  • 每个双引号
    都需要用双反斜杠或三反斜杠转义
  • 文字点前面的两个反斜杠中的每一个都需要用一个反斜杠转义

您正在搜索的文本是什么?当前和预期的输出是什么?我在顶部放了一个摘要版本。谢谢,欢迎!结果证明我当时正确地存储/加载了它。我曾考虑删除这个问题,但将留给你和蒂姆的贡献。