我正在使用Burp Suit来捕获http响应并替换特定值。
例如,文字
item:["1.0|-2.0|3.0|99|5.0","2.0|5.0|7.0|99|7","10|11|12|99|14"]
我想选择三个99
这不是一个恒定的价值
但他们总是处于项目的第四位
我的预期输出是
item:["1.0|-2.0|3.0|0|5.0","2.0|5.0|7.0|0|7","10|11|12|0|14"]
这是我的正则表达式
"([0-9\.\-]*\|){3}
结果:
项目:[ “1.0 | -2.0 | 3.0 | 99 | 5.0”, “2.0 | 5.0 | 7.0 | 99 | 7”,“10 | 11 | 12 | 99 | 14" ]
我正在尝试使用
(?<="([0-9\.\-]*\|){3})[0-9]*
但似乎无效
希望有人可以帮助我 我很感激一些帮助!
答案 0 :(得分:0)
看起来外观需要固定长度的字符串。在后面的*
将不起作用。
我很惊讶为什么你需要在这里看看。尝试搜索("([0-9\.\-]*\|){3})([0-9]*)
并将其替换为$1${new_num}
我不知道Burp Suit,但可以在perl中给你一个例子。
my $str = 'item:["1.0|-2.0|3.0|99|5.0","2.0|5.0|7.0|99|7","10|11|12|99|14"]';
my $new_num = 0;
$str =~ s/("([0-9\.\-]*\|){3})([0-9]*)/$1${new_num}/g;
print "${str}\n";
输出:
item:["1.0|-2.0|3.0|0|5.0","2.0|5.0|7.0|0|7","10|11|12|0|14"]
检查操作here
中的相同示例