我需要提取字符串
MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
出自
ADMIN:1EXT:0NOR:0OUT:1PRI:1BAT:1MOD:1MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
我使用的正则表达式是
(MAC:[A-Z0-9]{10})+
但我仍然没有得到预期的结果
答案 0 :(得分:3)
(MAC:[A-Z0-9:]+)
将匹配:MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
。
(MAC:[A-Z0-9]+)
将匹配:MAC:BFEBFBFF000006FB00
。
答案 1 :(得分:2)
(MAC:(([A-F0-9]+:*)))
Mac地址是十六进制字符...所以它是A-F而不是A-Z。
PS:我测试了表达式。
答案 2 :(得分:1)
该表达式表明您将拥有多个[A-Z0-9]的10个字符的序列,而不是所需的四个字符串。
你的正则表达式匹配
MAC:BFEBFBFF00
如果输入类似于您的示例,您可以使用像这样的简单正则表达式
MAC:[A-F0-9:]+
否则,如果你想要非常具体,你可以做这样的事情
MAC:[A-F0-9]{18}(:[A-Z0-9]{2}){5}
正如The Elite Gentleman所指出的那样,如果你正在寻找十六进制数字,你可以使用A-F。