PCRE - 在patern附近添加引号

时间:2018-04-25 18:09:58

标签: regex pcre

我希望在所有匹配的模式周围添加引号。数字,变量名称,数字等等是多种多样的。只有格式相同,但数字可以是小数。

字符串:

interval = 14..12:5
jaja1 = 1
du =545
werfgbhnm=0.5..0.7:1
dasdsa = "false"
dasdsa2 = False

模式:

[-\d+\.]*\.\.[-\d+\.]*:[-\d+\.]

我想添加替换,如:

 s/[ =][-\d+\.]*\.\.[-\d+\.]*:[-\d+\.]*/\"[ =][-\d+\.]*\.\.[-\d+\.]*:[-\d+\.]*\"/g

结果:

interval = "14..12:5"
jaja1 = 1
du =545
werfgbhnm="0.5..0.7:1"
dasdsa = "false"
dasdsa2 = False

当然我的解决方案不起作用。用pcre图案替换我的字符串。如上所述的结果如何?

1 个答案:

答案 0 :(得分:0)

尝试:

s/(\w+\s*=\s*)(\d+\.\.\d+:\d+)/\1"\2"/

请参阅regex demo

这使用两个捕获组,并将第二个捕获组放在引号之间。事实上,我认为不需要捕获组,请尝试:

s/\d+\.\.\d+:\d+/"\0"/