zhangaiping1 发表于 2019-10-29 10:12

python正则匹配字符串匹配不到。很简单的正则。。。

import re
mac_info = b'\xb1\xbe\xb5\xd8\xc1\xac\xbd\xd3\r\n\xcd\xf8\xc2\xe7\xca\xca\xc5\xe4\xc6\xf7: Realtek PCIe GBE Family Controller\r\n\xce\xef\xc0\xed\xb5\xd8\xd6\xb7'
mac_info = str(mac_info)
network_adapter = re.findall(r'\xcd', mac_info)
print(network_adapter)
大佬们,为啥这样匹配不到。。。求帮助 。~~!!!

15774211127 发表于 2019-10-29 10:20

你的正则“\xcd”的“\”需要转义

zhangaiping1 发表于 2019-10-29 10:25

15774211127 发表于 2019-10-29 10:20
你的正则“\xcd”的“\”需要转义

前面加了r,不就是以后的字符都是普通字符了吗?

15774211127 发表于 2019-10-29 10:30

zhangaiping1 发表于 2019-10-29 10:25
前面加了r,不就是以后的字符都是普通字符了吗?

加了r,所以“\”不转义得到的结果就是字符串“\xcd”,对不,但这只是对于字符串层面来说的确是这样。
你把字符串“\xcd”放到正则里,对于正则来说“\”把”x“转义了,所以就有问题了

zhangaiping1 发表于 2019-10-29 10:31

15774211127 发表于 2019-10-29 10:30
加了r,所以“\”不转义得到的结果就是字符串“\xcd”,对不,但这只是对于字符串层面来说的确是这样。
你 ...

哦。。。。我改改试试。。

cxl0825 发表于 2019-10-29 11:23

4楼说的很对啊

twostudy 发表于 2019-10-29 11:46

4楼解释很详细啊,感觉又学到了!
我感觉正则还是按照严格的原意写可能好些,r和u之类用的不多。
页: [1]
查看完整版本: python正则匹配字符串匹配不到。很简单的正则。。。