2016-11-04 16 views
5

Tôi đang cố gắng thay đổi nội dung phản hồi HTTP bằng Charles Proxy bằng công cụ viết lại/regex? Câu trả lời là một JSON.Cách sửa đổi nội dung phản hồi HTTP bằng công cụ ghi đè Charles Proxy và regex?

Vì vậy, một phần của phản ứng JSON cơ thể trở lại là:

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

và những gì tôi muốn là:

"unavailablePosts": "XXX", 

tôi cố gắng thiết lập viết lại Charles' như thế này:

enter image description here

Vì vậy, regex giống như:

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

Nhưng ... (khi tôi đặt câu hỏi này) nó không hoạt động, tức là không có gì thay đổi trong nội dung phản hồi.

+0

Bạn có ý nghĩa gì khi "không hoạt động"? (IMHO, SO không được cho phép đăng câu hỏi với cụm từ này.) Bạn nên nói những gì nó không * khớp * và những gì cần * khớp *. –

+0

xin lỗi, đã cập nhật. –

+0

Có lẽ, có khoảng trắng ở giữa, nhưng chỉ bạn mới có thể kiểm tra điều đó. Hãy thử '" không có sẵnBài viết "\ s *: \ s * \ [([\ s \ S] *?) \],' –

Trả lời

3

Tôi tin rằng có một số linebreaks ở giữa các giá trị, và để phù hợp với chúng, bạn cần phải thêm \s* (zero hoặc nhiều khoảng trắng) xung quanh : và sử dụng [\s\S]*? (bất kỳ 0+ chars nhưng càng ít càng tốt như *? là lười biếng định lượng) để đối sánh chuỗi con giữa [],:

"unavailablePosts"\s*:\s*\[([\s\S]*?)\], 
Các vấn đề liên quan