Regex -系统要求



我正在学习正则表达式,当从下面的系统需求字符串中找到模式时遇到困难:

"OS: Windows® 7 Processor: Intel Core i3-9100 / AMD Ryzen 3 2300X Memory: 8 GB RAM Graphics: NVIDIA® GeForce® GTX 1050 Ti / AMD Radeon™ RX 560 (4GB VRAM) Storage: 60 GB available space"

我已经做了多种方法,但无法找到任何匹配。我想根据冒号(:)将结果分组到一个python字典中,如下所示:

{
'OS': 'Windows® 7',
'Processor': 'Intel Core i3-9100 / AMD Ryzen 3 2300X',
'Memory': '8 GB RAM Graphics: NVIDIA® GeForce® GTX 1050 Ti / AMD Radeon™ RX 560 (4GB VRAM)',
'Storage': '60 GB available space'
}

任何帮助都会很感激。这是我的工作:regex101。谢谢你。

您可以将re.findall"(w+):s+(.*?)(?=$|s*w+:s+)"一起使用:一个单词,后面跟着冒号和空格,然后尽可能少地使用任何内容,直到字符串的末尾或另一个单词后面跟着冒号和空格。

最小的例子:

s = "OS: Windows® 7 Processor: Intel Core i3-9100 / AMD Ryzen 3 2300X Memory: 8 GB RAM Graphics: NVIDIA® GeForce® GTX 1050 Ti / AMD Radeon™ RX 560 (4GB VRAM) Storage: 60 GB available space"
import re
d = dict(re.findall(r"(w+):s+(.*?)(?=$|s*w+:s+)", s))
输出:

{'OS': 'Windows® 7',
'Processor': 'Intel Core i3-9100 / AMD Ryzen 3 2300X',
'Memory': '8 GB RAM',
'Graphics': 'NVIDIA® GeForce® GTX 1050 Ti / AMD Radeon™ RX 560 (4GB VRAM)',
'Storage': '60 GB available space'}

相关内容

  • 没有找到相关文章

最新更新