我 需要 帮助 来 编写 正则 表达式 , 使用 python re
引擎 来 :
1.从 文本 文件 中 提取 所有 MAC 地址
1.使用 以下 格式 提取 所有 字符 串 :foo bar ... MAC:ADDRESS ... baz bat \r\n
提前 感谢 !
我 尝试 了 以下 方法 来 提取 MAC 地址 , 但 没有 成功 :
import re
p = re.compile(ur'((?:(\d{1,2}|[a-fA-F]{1,2}){2})(?::|-*)){6}')
test_str = u"TEXT WITH SOME MAC ADDRESSES 00:24:17:b1:cc:cc TEXT CONTINUES WITH SOME MORE TEXT 20:89:86:9a:86:24"
found = re.findall(p, test_str)
for a in found:
print a
中 的 每 一 个
7条答案
按热度按时间y1aodyip1#
我编造了以下内容:
([0-9a-fA-F]:?){12}
以匹配文本中的MAC地址。下面是它的工作原理:
[0-9a-fA-F]
匹配用于表示十六进制数字的字符:?
与可选冒号匹配(...){12}
-然后将所有这些内容分组并重复12次。12因为MAC地址由6对十六进制数字组成,中间用冒号分隔您可以在here的操作中看到它。
Python代码将变为:
结果产生:
oknrviil2#
试试这个。看演示。
http://regex101.com/r/kP8uF5/5
u4dcyp6a3#
我还必须匹配MAC地址,这是有效的:
((?:[\da-fA-F]{2}[:\-]){5}[\da-fA-F]{2})
我用这个regex测试器测试了它:https://regex101.com/#python它对每个正则表达式做了很好的分类。
w1e3prcc4#
让我们提取MAC地址
输出为
['aa:bb:cc:dd:01:02', 'aa-bb-cc-dd-ee-ff', 'AABBCCDDEEFF']
cotxawn75#
单个MAC地址的最佳正则表达式匹配,且结尾不溢出:
参考:https://regexpattern.com/mac-address/
xmq68pz96#
3zwtqj6y7#
从任何输入中查找有效MAC地址的最佳方法是:
r'([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})[\s]'