匹配Charles代理重写规则中的多行模式


1

在Charles代理中,我正在尝试使用重写规则来匹配响应体中跨越三行的模式 \s* 在匹配值(选中“正则表达式”)以匹配新行。

似乎Charles不会在多行中匹配模式,但我无法在Charles文档中确认这一点。任何人都可以通过一种方式确认Charles重写规则是否可以匹配多行中的模式?

Answers:


1

我不知道你可以做到这一点,但我想出了适用于特定换行情况的这个:

"group":.*[\n\r]*.*".*"

简而言之,如果您在字符类中显式标记换行符,则可以在该模式中使用它。通配符匹配 . 和缓冲区边界一样 ^$ 别。


2

可以通过以下方式在Charles中完成多行搜索:

[\ S \ S] *

例如,假设有一个xml文档,我想在knownNodeName处开始搜索并继续搜索,直到找到@knownAttribute,在knownNodeName下面n行

查尔斯的正则表达式模式是:

knownNodeName> [\ S \ S] * knownAttributeNLineBelow

这有效!

如果你想让它变得更复杂一些并实际从属性中捕获一些内容并将其重新插入到文档中(这是我的结果),你可以通过以下查看来完成它:

匹配值:     knownNodeName>([\ S \ S] * knownAttributeNLineBelow =“)(\ W +)

替换价值:
knownNodeName> newNode @ attr = $ 2 /> $ 1 $ 2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.