我有一个有多行固定语法的文件。每行文件如下所示:
13:09:04.210262 2.0 Mb/s 2412 MHz 11g -22dB signal antenna 7 BSSID:00:00:00:12:34:56 (oui Unknown) DA:01:23:45:67:89:78 (oui Unknown) SA:89:12:33:45:b3:11 (oui Unknown)
我想在每行的两个(':')分隔符后面获取一些特定数量的字符(MAC地址),并将它们保存到字符串中。到目前为止,我有这个:
^{pr2}$它应该给我所有的子串,我可以进一步处理,以获得MAC地址,但这是一个复杂的方法。有人能指导我如何修复它,或者建议一个更好的方法来完成这个任务吗?在
我也有“DA”和“SA”显示在所有行上,所以如果这是一个更好的主意,我可以尝试使用Regex。在
谢谢你
正则表达式“(DA:\w{2}:\w{2}:\w{2}:\w{2}:\w{2}:\w{2}:\w{2})”将返回MAC地址“DA:01:23:45:67:89:78”。 你可以为SA做类似的事情。在
一个简单的解决方案:
\S+
表示任何非空白字符。(?:DA|SA|BSSID)
是指DA
、SA
或{但是如果你想匹配实际的MAC,那么你可以使用这个:
^{pr2}$您可以使用this link获得正则表达式的解释。在
对于这两种情况,lst都认为:
您应该能够使用以下正则表达式进行匹配:
Run it live
顺便说一句,您也可以使用以下代码段将它们作为字典获取:
^{pr2}$所以基本上,你可以建立一个dict列表:
然后,例如,获取所有源Mac:
相关问题 更多 >
编程相关推荐