За последние 24 часа нас посетили 22480 программистов и 1141 робот. Сейчас ищут 555 программистов ...

Выделить MAC-адрес из строки по шаблону хххх.хххх.хххх

Тема в разделе "Регулярные выражения", создана пользователем ФAtmel, 12 мар 2021.

  1. ФAtmel

    ФAtmel Новичок

    С нами с:
    12 мар 2021
    Сообщения:
    6
    Симпатии:
    0
    Добрый день!
    Помогите написать корректную обработку для получения мас-адреса из строки. Все, что я нашел в интернете, не срабатывает.
    Строка такая "Security violation occurred, caused by MAC address ea88.d13a.8a95 on port GigabitEthernet0/15" . Все три части между точкой всегда по 4 символа, одинарных нолей не встречается.
    Нужно ее получить в виде переменной, инициализиврованной этим значением или вначале элементом массива.
    Спасибо!
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @ФAtmel, неужели точку в шаблоне экранировать забыли?
     
  3. ФAtmel

    ФAtmel Новичок

    С нами с:
    12 мар 2021
    Сообщения:
    6
    Симпатии:
    0
    Просто копировал шаблон как есть.
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @ФAtmel, вот, для описанных условий - простейший шаблон: /\w{4}\.\w{4}\.\w{4}/
    PHP:
    1. $subject = 'Security violation occurred, caused by MAC address ea88.d13a.8a95 on port GigabitEthernet0/15';
    2. $matches = [];
    3. preg_match('/\w{4}\.\w{4}\.\w{4}/', $subject, $matches);
    4. var_dump($matches);