Corresponder padrão de várias linhas na regra de reescrita do proxy Charles

1

No proxy Charles, estou tentando usar uma regra de reconfiguração para corresponder a um padrão que abranja três linhas em um corpo de resposta, usando \s* no valor de correspondência (com 'Regex' marcado) para corresponder às novas linhas. / p>

Parece que Charles não combina com um padrão em várias linhas, mas não consegui confirmar isso na documentação do Charles. Alguém pode confirmar, de uma forma ou de outra, se as regras de reescrita de Charles podem corresponder aos padrões em mais de uma linha?

    
por Ben Mordue 31.08.2015 / 15:29

2 respostas

1

Eu não sei se você pode fazer isso genericamente, mas eu criei isso que funciona para casos específicos de novas linhas:

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

Em suma, se você sinalizar explicitamente a nova linha em uma classe de caracteres, ela poderá ser consumida dentro do padrão. Correspondentes de caracteres curinga como . e limites de buffer como ^ e $ não.

    
por 11.09.2015 / 17:51
2

É possível realizar a pesquisa de várias linhas em Charles por meio do seguinte:

[\ s \ S] *

Por exemplo, digamos que exista um documento xml e quero iniciar uma pesquisa em um knownNodeName e continuar pesquisando até que um @knownAttribute seja encontrado n linhas abaixo do knownNodeName

O padrão regex em Charles seria:

knownNodeName > [\ s \ S] * knownAttributeNLineBelow

Isso funciona!

Se você quiser torná-lo um pouco mais complexo e realmente capturar algo do atributo e reinseri-lo no documento (esse foi o meu objetivo final), você pode realizá-lo via seguinte em Charles:

Valor da correspondência:     knownNodeName > ([\ s \ S] * knownAttributeNLineBelow=") (\ w +)

Substituir valor:
    knownNodeName > newNode @ attr = $ 2 / > $ 1 $ 2

    
por 01.04.2016 / 22:32

Tags