我想替換字符串與變量變量傳遞到Python的
myText = re.findall(b'\x03\x00\x00\x02''(.*?)''\xF7\x00\xF0', s)
以下代碼行就應該這樣便
myText = re.findall(b'\x03\x00\x00\x02''(.*?)' & variable_XY &, s)
我怎麼能這樣做?
我想替換字符串與變量變量傳遞到Python的
myText = re.findall(b'\x03\x00\x00\x02''(.*?)''\xF7\x00\xF0', s)
以下代碼行就應該這樣便
myText = re.findall(b'\x03\x00\x00\x02''(.*?)' & variable_XY &, s)
我怎麼能這樣做?
你的意思是這樣的?
variable_XY = b'\xF7\x00\xF0'
myText = re.findall(b'\x03\x00\x00\x02(.*?)' + variable_XY, s)
顯然variable_XY
可以以任何方式進行設置,只要它是一個字符串。
文字'b'\ x03 \ x00 \ x00 \ x02''(。*?)'由'字節'文字'b'\ x03 \ x00 \ x00 \ x02''和'str'文字組成, '(。*?)'',它們被隱含地連接起來。在Python 2.x中,這是有效的,但毫無意義。在Python 3.x中,這是一個語法錯誤。 – 2012-07-20 22:12:38
另外,可能值得告訴他關於字符串格式化(或舊式'%s'格式化)而不是串接,因爲我懷疑他很快就想知道「好的,但我該如何替換中間的東西而不是在最後「? – abarnert 2012-07-20 22:15:25
@SvenMarnach:我從OP複製/粘貼,並沒有發現它。讓我解決這個問題。 – orlp 2012-07-20 22:15:32
這只是串聯。
如果你想的variable_XY
內容結尾:
myText = re.findall(b'\x03\x00\x00\x02(.*?)' + variable_XY, s)
如果你想的variable_XY
內容在開始:
myText = re.findall(variable_XY + b'\x03\x00\x00\x02(.*?)', s)
這個問題不是很清楚。你打算在字節串的中間使用雙撇號?什麼是'&variable_XY&'應該在做什麼? '&'只是應該連接,還是其他的?如果是前者,爲什麼最後會有另一個'&'? – abarnert 2012-07-20 22:17:07
看來你至少缺少一個關鍵信息:'b'foo''是一個字節字符串。 b是字節字符串周圍的「引號」的一部分,而不是單獨的運算符或其他內容。與此同時,如果你有更好的語言,也許你可以編寫JavaScript或PHP或任何你想做的事情的等價物,並且有人可以告訴你如何將它翻譯成Python? – abarnert 2012-07-20 23:01:14