2014-01-29 26 views
0

有沒有辦法在文件中匹配HTTP POST urlencoded數據(Content-Type:application/x-www-form-urlencoded)?匹配的字符串將僅包含可打印字符和urlencoded字符,例如% A-F和HTTP POST/GET數據中的變量符號&,當然還包含變量名稱和變量內容之間的=。作爲一個隨機文本與我需要匹配的數據的一個例子:匹配文件中的urlencoded數據

死亡在那裏歡笑的方式嘈雜的優點。雖然相互生活詢問範圍,但引起羞澀的春天或六個 。先生迴應的先生 女士最小處置或。現在看到嘗試辦公室擁有改進。 被叫來的人都在縣城講她的自尊。那些完全是這些 方式似乎沒有。 網站=的http%3A%2F%2Fwww.test.com%2F &數= 1037319821 &評論=測試+ MEA &性別=男性&提交=上正常帥回到投擲提交 燁是沒有什麼的。在沒有 希望他的照片沒有暴露的談話分鐘。好奇心不斷 屬於得罪所以解釋它精緻。請記住自己跟隨 材料先生回車。高西部我們沒有或在 約翰。關於或給予機智的事件。或者有社會性的物質單身漢 把房東封閉起來。忙忙碌碌,好容易找到好東西。所以 的精美我解釋餘下。所以表示安全的Dashwood是 就這樣感知我的笑聲。 ID = 1234 &變量=測試&姓=約翰&姓= Doe的&性別=男性&提交=提交

的數據來匹配爲黑體。嘗試了很多方法,但無法找到與%[A-F]{2}&=或一般匹配他們的東西的正則表達式。

+0

http://stackoverflow.com/questions/833469/regular-expression-for-url – xmpolaris

+0

到URL只匹配,但我需要用粗體文字兩個字符串匹配,一箇中沒有任何URL。 – bsteo

回答

1

這應該讓你在那裏的大部分。

x = re.compile("([A-Za-z0-9%./]+=[^\s]+)") 
out = x.findall(input_str) 

# out = ['website=http%3A%2F%2Fwww.test.com%2F&number=1037319821&comment=Test+mea&gender=male&submit=Submit', 'id=1234&variable=test&firstname=John&lastname=Doe&gender=male&submit=Submit']' 
+0

如果查詢參數**名稱**是URL編碼的,不會中斷嗎? – millimoose

+0

是的!這就是我的意思。不,我的字符串已經urlencoded數據。 – bsteo

+0

在正則表達式中添加了%。適用於我。 – joel3000