匹配“模式”后插入文本

时间:2011-10-20 11:18:13

标签: regex text insert

我有这个:wares.php?id=5&x1=4&x2=33&x3=1 我想要做的是在[1:中的4之前插入x1=4,在4之后(之前和之后)插入]x1=4中的数字可以是任何自然数。 有没有办法做到这一点?需要什么工具(可能是某种带正则表达式的文本编辑器)?

2 个答案:

答案 0 :(得分:0)

使用Notepad ++,您可以:

  1. 搜索(x1=)(\d+)
  2. 替换为\1[1:\2]
  3. 使用perl one-liner:

    perl -pe 's/(x1=)(\d+)/$1\[1:$2\]/;' < file_to_modify
    

答案 1 :(得分:0)

您可以使用sed

echo "wares.php?id=5&x1=4&x2=33&x3=1" | sed "s|x1=\([0-9][0-9]*\)|x1=[1:\1]|"

给出

wares.php?id=5&x1=[1:4]&x2=33&x3=1