-1
我有一個從pexpect的session.before
得到的字符串對象。re.search與字節字符串不匹配
從這我試圖re.search
使用下面的正則表達式獲取設備ID。但它不匹配。
print (str(sess.before))
b'\r\n* daemon not running. starting it now on port 5037 *\r\n* daemon started successfully *\r\n353651\tdevice\r\n\r\n\r\n'
device_id = re.search ('([0-9a-zA-Z]+)[\t ]+device', str(sess.before))
print (device_id)
None
@Wiktor:kinda-sorta。問題主要是'str()'調用是將字節對象轉換爲字符串的一種非常錯誤的方式。 –
@MartijnPieters:我只是想知道爲什麼OP有'b'\ r \ n * ...''而不是''b'\\ r \\ n * ...'「'那麼呢?如果你確定至少有兩個問題,那麼是的,它可以重新打開。 –
@WiktorStribiżew:'print()'調用掩蓋了這個問題;實際上'print(bytesobject)'已經使用'str()',所以第一行中的'str()'完全是多餘的。 'str(sess.before)'* does * return''b'\\ r \\ n * ...'「',但是當你然後*打印*那...... –