当有'?'时,如何在Charles Proxy中设置重写规则包括在内呢?

时间:2012-02-20 13:41:31

标签: regex proxy rewrite charles-proxy

我正在使用Chales Proxy,到目前为止它对我帮助很大。为了测试,我使用重写规则来更改Path参数。这很有效,只要我不尝试在包含问号的路径上设置重写规则:

输入:路径

网址示例: / get / article / 123456 / n / 20121208 /?

重写规则: /? - > / showAdmin =真/?

我的猜测是问号是占位符,我不能将其用作匹配值。我试图逃避它,但它也没有用。

有人知道如何解决这个问题吗?提示如何在Charles中使用regEx也会有所帮助。路径总是一样的。

最佳, 克拉斯

2 个答案:

答案 0 :(得分:1)

只是把它作为答案,因为它让我疯了。为了使用组,您基本上将正则表达式中的内容括在括号组中,如下所示:

whatever/(.*)/(.*)\.html

然后在替换字段中,您将该括号组称为$ 1,$ 2等等,我相信从左到右。

/whatever/$1/$2.json

我相信下面发布的stema应该有用,但如果你试图使用群组,这就是你要做的。

答案 1 :(得分:0)

问号不是占位符,而是量词。因此,/?表示匹配零或一个斜杠。

快速搜索documentation

  

可以启用正则表达式支持,为您的匹配提供Perl样式的正则表达式。

然后这应该工作

/\?$

$将匹配字符串结尾,如果?也应该在字符串结束之前匹配,只需删除它。