gpt4 book ai didi

python - 具有各种独特情况的 Python 中的字符串解析

转载 作者:行者123 更新时间:2023-11-28 20:50:19 25 4
gpt4 key购买 nike

我的目标是将字符串转换成字典。这是它的样子:

[exploit] => 1
[hits] => 1
[completed] => 1
[is_malware] => 1
[summary] => 26.0@13965: suspicious.warning: object contains JavaScript
76.0@14467: suspicious.obfuscation using eval
76.0@14467: suspicious.obfuscation using String.fromCharCode

[severity] => 4
[engine] => 60

所以我尝试了几种方法来做到这一点,第一次尝试是在 \nsplit,但我遇到了 [summary] 的问题,内容被分开了,所以没有用。然后我的第二次尝试是 split at => 但是我遇到了一个问题,一旦我在 => split it will know that it has to split at \n 表示下一个键。基本上它最终应该看起来像这样 { exploit:1, hits:1, completed:1....} 等等

如有任何帮助,我们将不胜感激。

最佳答案

可以使用re.findall来解析文本:

>>> import re
>>> re.findall('\[([^]]+)\] => (.*?)(?=\n\[|$)', s, re.S)
[('exploit', '1'), ('hits', '1'), ('completed', '1'), ('is_malware', '1'), ('summary', '26.0@13965: suspicious.warning: object contains JavaScript\n76.0@14467: suspicious.obfuscation using eval\n76.0@14467: suspicious.obfuscation using String.fromCharCode\n'), ('severity', '4'), ('engine', '60')]

您可以通过调用 dict 将这些值放入字典中。

>>> dict(re.findall('\[([^]]+)\] => (.*?)(?=\n\[|$)', s, re.S))
{'engine': '60', 'hits': '1', 'severity': '4', 'is_malware': '1', 'summary': '26.0@13965: suspicious.warning: object contains JavaScript\n76.0@14467: suspicious.obfuscation using eval\n76.0@14467: suspicious.obfuscation using String.fromCharCode\n', 'exploit': '1', 'completed': '1'}

关于python - 具有各种独特情况的 Python 中的字符串解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com