PCRE - 在模式周围添加引号
PCRE - Add quotes around patern
我想在所有匹配的模式周围添加引号。数字、变量名、数字的长度等是多种多样的。只有格式相同,但数字可以是小数。
字符串:
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 模式替换我的字符串。如何达到上述结果?
尝试:
s/(\w+\s*=\s*)(\d+\.\.\d+:\d+)/""/
参见 regex demo。
这使用两个捕获组,并将第二个捕获组放在引号之间。其实我觉得不需要捕获组,试试:
我想在所有匹配的模式周围添加引号。数字、变量名、数字的长度等是多种多样的。只有格式相同,但数字可以是小数。
字符串:
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 模式替换我的字符串。如何达到上述结果?
尝试:
s/(\w+\s*=\s*)(\d+\.\.\d+:\d+)/""/
参见 regex demo。
这使用两个捕获组,并将第二个捕获组放在引号之间。其实我觉得不需要捕获组,试试: