2016-11-04 40 views
5

Próbuję zmienić treść odpowiedzi HTTP za pomocą Charles Proxy przy użyciu narzędzia przepisywania/wyrażeń regularnych? Odpowiedzią jest JSON.Jak zmodyfikować treść odpowiedzi HTTP za pomocą narzędzia do przepisywania Charles Proxy i wyrażeń regularnych?

Więc część zwracanej odpowiedzi JSON ciała:

"unavailablePosts": ["AA", "BB"], 

i co chcę jest:

"unavailablePosts": "XXX", 

próbuję skonfigurować przepisać Charlesa tak:

enter image description here

Tak więc wyrażenie regularne wygląda następująco:

"unavailablePosts": \[(.*)\], 

Ale ... (jak zadaję to pytanie) to nie działa, tzn. Nic się nie zmienia w treści odpowiedzi.

+0

Co masz na myśli mówiąc „nie działa”? (IMHO, SO nie powinno pozwalać na zadawanie pytań z tym zwrotem.) Powinieneś powiedzieć, co to nie * pasuje * i co powinno * pasować *. –

+0

Przepraszam, zaktualizowałem. –

+0

Być może między nimi są białe spacje, ale tylko Ty możesz to sprawdzić. Wypróbuj '" unavailablePosts "\ s *: \ s * \ [([\ s \ S] *?) \],' –

Odpowiedz

3

Wierzę, że istnieją pewne linebreaks w między wartościami, a także dopasować je trzeba dodać \s* (zero lub więcej spacje) wokół : i używać [\s\S]*? (dowolny 0+ znaki, ale tak mało jak to możliwe, jak *? jest leniwy kwantyfikator), aby dopasować podciąg między [ i ],:

"unavailablePosts"\s*:\s*\[([\s\S]*?)\],