Friday 15 May 2015

Python regex extract MAC addresses from string -



Python regex extract MAC addresses from string -

i need help writing regular expression, using python re engine to:

extract mac addresses text file extract strings next format: foo bar ... mac:address ... baz bat \r\n

thanks in advance!

i tried next extract mac addresses, without luck:

class="lang-python prettyprint-override">import re p = re.compile(ur'((?:(\d{1,2}|[a-fa-f]{1,2}){2})(?::|-*)){6}') test_str = u"text mac addresses 00:24:17:b1:cc:cc text continues more text 20:89:86:9a:86:24" found = re.findall(p, test_str) in found: print

i have concocted following: ([0-9a-fa-f]:?){12} match mac addresses in text.

here how supposed work:

[0-9a-fa-f] matches characters used represent hexadecimal numbers :? matches optional colon (...){12} - of grouped , repeated 12 times. 12 because mac address consists of 6 pairs of hexadecimal numbers, separated colon

you can see in action here .

the python code becomes:

class="lang-python prettyprint-override">import re p = re.compile(ur'(?:[0-9a-fa-f]:?){12}') test_str = u"text mac addresses 00:24:17:b1:cc:cc text continues more text 20:89:86:9a:86:24" re.findall(p, test_str)

producing result:

class="lang-python prettyprint-override">[u'00:24:17:b1:cc:cc', u'20:89:86:9a:86:24']

python regex

No comments:

Post a Comment