2017-01-22 63 views
0

鑑於下面的代碼,我將如何去做什麼傳遞到recvuntil一些正則表達式?響應分佈在多行,可以有重複的文字Python pwntools recvuntil regex

from pwn import * 

r = remote("localhost", 6666) 
r.recvuntil ('SOME TEXT (.*) SOME MORE TEXT') # This is always the last line 
# Grab the regex'd text 

所以,如果該行是

SOME TEXT CAT SOME MORE TEXT 

我們搶CAT

回答

0

如果你只是尋找一個正則表達式來提取字CAT from SOME TEXT CAT SOME MORE TEXT,你可以用這個:

SOME TEXT ([^\s]+) SOME MORE TEXT 

它匹配SOME TEXTSOME MORE TEXT之間的除空格(\s)以外的每個字符。


下面是一個exectuable例如:

var text = "SOME TEXT CAT SOME MORE TEXT"; 
 
var regex = /SOME TEXT ([^\s]+) SOME MORE TEXT/g; 
 
var match = regex.exec(text); 
 

 
while(match !== null) { 
 
    console.log(match[1]); 
 
    match = regex.exec(text); 
 
}

+0

這是第一件事情是星期一上午,但看起來像JavaScript的,而不是Python,但我想同樣的原則也適用? – pee2pee

+0

這只是正則表達式如何工作的JavaScript演示。正則表達式以各種編程語言非常相似。 –

+0

好的謝謝 - 我知道JS的實現,但想知道如何在接收數據的具體示例中使用Python。這就是說,你的文章只是點了一下如何在Python中正確地做到這一點,所以謝謝! – pee2pee