我试图让一些正则表达式工作,但在我的具体使用情况下略有失败。正则表达式 - 多个匹配,冒号和空格
考虑以下字符串例如
Device-1: P0_Node0_Channel0_Dimm0 size: 32 GB speed: 2133 MHz type: DDR4
我想最好从这个字符串中提取信息这样的:
Device-1: P0_Node0_Channel0_Dimm0
size: 32 GB
speed: 2133 MHz
type: DDR4
所以我尝试了一下四周,测试了一些表情
(.*?):\s
对某些方面有用。正确捕获第一个参数名称,但在此之后会弄乱空格。
:\s(.*?)\s\w*?:!?
虽然这会捕获第三个参数值中的空白空间,但它只给出第一个和第三个值。也没有参数名称。
有人有一个想法,我可以如何实现预期的行为?
注:我在Excel VBA中这样做,不知道是否所有功能都支持。
感谢
最好的,谢谢! 我刚刚编辑答案,以删除第二组比赛结束时的空间。 接受的答案。 由于6个字符的限制,我必须使用“use”编辑“may”。 – CuttingWide
@CuttingWide:对不起,您的意思是编辑为'([^ \ s:] +):\ s *(。*?)\ s *(?= [^ \ s:] +:| $)'?我编辑了答案。 –