Прежде чем применять настройки - внимательно читаем. От этого зависит работоспособность системы


ПРИМЕРЫ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ ДЛЯ ПАРАМЕТРА CPE_MAC_FORMAT

Примеры регулярных выражений для различных производителей  сетевого оборудования, которые можно использовать в параметре CPE_MAC_FORMAT в файле config.pl для автоматического определения и обработки как MAC-адресов, так и серийных номеров оборудования.

НОВАЯ ФУНКЦИОНАЛЬНОСТЬ: 

Параметр CPE_MAC_FORMAT теперь поддерживает:

  1. Множественные регулярные выражения, разделенные символом '|'
  2. Префиксы для явного указания типа данных:
    1. MAC: для MAC-адресов (будут автоматически отформатированы)
    2. SN: для серийных номеров (останутся без изменений)
  3. Смешанные конфигурации с MAC-адресами и серийными номерами

Пример использования в config.pl:

 $CPE_MAC_FORMAT = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^HW[A-Z0-9]{12}$';

ОБРАТНАЯ СОВМЕСТИМОСТЬ:

Паттерны без префиксов обрабатываются как MAC-адреса для совместимости со старыми конфигурациями.

ЛОГИКА ПО УМОЛЧАНИЮ (при отсутствии CPE_MAC_FORMAT):

Если параметр CPE_MAC_FORMAT не задан или пуст, используется встроенная логика:

  1. Проверяется соответствие стандартным форматам MAC-адресов:
    1. XX:XX:XX:XX:XX:XX (с двоеточиями)
    2. XX-XX-XX-XX-XX-XX (с дефисами)
    3. XXXX.XXXX.XXXX (Cisco формат)
    4. XXXXXXXXXXXX (без разделителей)
  2. Если входные данные соответствуют любому из этих форматов - обрабатываются как MAC
  3. Если не соответствуют - считаются серийным номером и остаются без изменений
  4. MAC-адреса автоматически приводятся к стандартному формату XX:XX:XX:XX:XX:XX

СТАНДАРТНЫЕ MAC-АДРЕСА


 Стандартный MAC-адрес с любыми разделителями (двоеточие, дефис, точка)

^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$

 MAC-адрес только с двоеточиями

^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$

 MAC-адрес только с дефисами

^[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){5}$

 MAC-адрес только с точками

^[0-9a-fA-F]{2}(\.[0-9a-fA-F]{2}){5}$

 MAC-адрес без разделителей (12 символов)

^[0-9a-fA-F]{12}$

Регулярные выражения по вендорам

CISCO

Cisco формат xxxx.xxxx.xxxx (3 группы по 4 символа)

^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$

Комбинированный паттерн для Cisco (стандартный MAC + Cisco формат)

^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$

HUAWEI

Huawei MAC-адреса (стандартный формат с дефисами)

^[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){5}$
^HWTC[0-9A-F]{8}$
^[0-9]{10}[A-F0-9]{6}$


ZTE

ZTE MAC-адреса (стандартный формат)


^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$
^ZTEG[0-9A-F]{8}$
^ZTEGC[0-9A-F]{7}$


NOKIA/ALCATEL-LUCENT

Nokia/Alcatel MAC-адреса (стандартный формат с двоеточиями)

^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$

MIKROTIK

MikroTik MAC-адреса (стандартный формат с двоеточиями)

^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$

UBIQUITI

Ubiquiti MAC-адреса (стандартный формат с двоеточиями)

^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$

BDCOM (EPON оборудование)

Прошивка v2.1.x

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^BD[0-9A-F]{10}$

Примеры: MAC: 00:11:22:33:44:55, 00-AA-BB-CC-DD-EE | SN: BD1234567890, BDABCDEF1234

Прошивка v1.8.x

MAC:^([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{4}[.]([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{2}$|SN:^BDCOM[0-9]{8}$

Примеры: MAC: 00.11.2233.44.55.66 | SN: BDCOM12345678, BDCOM87654321

Прошивка v3.0.x (новый формат)

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^BD[A-Z]{2}[0-9]{8}[A-Z]{2}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: BDAA12345678BB, BDXY87654321ZZ

BDCOM (GPON оборудование)

Прошивка v4.x.x и выше

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^[A-Za-z0-9]{16}$|SN:^[A-Za-z0-9]{4}:[A-Za-z0-9]{8}$

Примеры: MAC: 00:11:22:33:44:55, 00-AA-BB-CC-DD-EE | SN: ABCD1234567890EF, BDCM:12345678

C-Data (EPON/GEPON оборудование)

Прошивка v4.2.x и выше

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^CD[0-9A-F]{12}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: CD123456789ABC, CDABC123DEF456

Прошивка v3.5.x

MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^CDATA[0-9]{10}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: CDATA1234567890, CDATA9876543210

Прошивка v5.0.x (обновленный формат)

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^CD[A-Z0-9]{14}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: CDABC123DEF456GH78, CD12A34B56C78D90EF

Qtech (EPON/GEPON оборудование)

Прошивка v6.1.x

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^QT[0-9A-F]{10}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: QT1234567890, QTABCDEF1234

Прошивка v5.8.x

MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^QTECH[0-9]{8}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: QTECH12345678, QTECH87654321

Прошивка v7.0.x (новейший формат)

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^QT[A-Z]{3}[0-9]{9}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: QTABC123456789, QTXYZ987654321

Dasan (GPON/EPON оборудование)

Прошивка v2.3.x

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^DSAN[0-9A-F]{8}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: DSAN12345678, DSANABCDEF12

Прошивка v3.1.x

MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^DS[0-9]{12}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: DS123456789012, DS987654321098

Прошивка v4.0.x

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^DASAN[A-Z0-9]{10}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: DASANABC1234567, DASAN123XYZ789A

G-Com (GPON оборудование)

Прошивка v1.9.x

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^GCOM[0-9A-F]{8}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: GCOM12345678, GCOMABCDEF12

Прошивка v2.5.x

MAC:^[0-9A-Fa-f]{2}([:-][0-9A-Fa-f]{2}){5}$|SN:^GC[0-9]{10}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: GC1234567890, GC9876543210

Прошивка v3.2.x

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^GCOM[A-Z]{2}[0-9]{8}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: GCOMAB12345678, GCOMXY87654321

Fiberhome (GPON оборудование)

Прошивка v8.1.x

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^FHTT[0-9A-F]{8}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: FHTT12345678, FHTTABCDEF12

Прошивка v9.0.x

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^FH[A-Z0-9]{12}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: FHABC123DEF456, FH123XYZ789ABC

Raisecom (EPON оборудование)

Прошивка v4.7.x

MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^RAIS[0-9A-F]{8}$

Примеры: MAC: 00:11:22:33:44:55, AA-BB-CC-DD-EE-FF | SN: RAIS12345678, RAISABCDEF12

Прошивка v5.2.x

MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^RC[A-Z0-9]{10}$

Примеры: MAC: 0011.2233.4455, AABB.CCDD.EEFF | SN: RCABC1234567, RC123XYZ789A












 ============================================================================
 ПРИМЕРЫ КОНФИГУРАЦИИ ДЛЯ config.pl
 ============================================================================

 Пример 1: Только стандартные MAC-адреса
 $conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$';

 Пример 2: Стандартные MAC + Cisco формат
 $conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$';

 Пример 3: Только MAC с двоеточиями
 $conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$';

 Пример 4: MAC без разделителей + с двоеточиями
 $conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{12}$|^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$';

 Пример 5: Универсальный паттерн для большинства случаев
 $conf{CPE_MAC_FORMAT} = '^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$|^[0-9a-fA-F]{12}$';

 Пример 6: Использование префиксов MAC: и SN:
 $conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\\-\\.]?[0-9a-fA-F]{2}){5}$|SN:^HWTC[0-9A-F]{8}$|SN:^ZTEG[0-9A-F]{8}$';

 Пример 7: Комбинированный с явным указанием типов
 $conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}$|MAC:^[0-9a-fA-F]{12}$|SN:^[A-Z]{2,4}[0-9A-F]{6,12}$';

 ============================================================================
 ПРАКТИЧЕСКИЕ ПРИМЕРЫ КОМБИНИРОВАННОГО ИСПОЛЬЗОВАНИЯ
 ============================================================================

 Пример 1: Смешанная среда с оборудованием разных производителей
 $conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{12}$|MAC:^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$|SN:^HWTC[0-9A-F]{8}$|SN:^ZTEG[0-9A-F]{8}$';

 Пример 2: Только MAC-адреса (различные форматы)
 $conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$';

 Пример 3: Только серийные номера
 $conf{CPE_MAC_FORMAT} = 'SN:^[A-Z]{2,4}[0-9A-F]{6,12}$|SN:^[0-9A-F]{16}$';

 Пример 4: Универсальный для большинства случаев
 $conf{CPE_MAC_FORMAT} = 'MAC:^[0-9a-fA-F]{2}([:\-\.]?[0-9a-fA-F]{2}){5}$|MAC:^[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}\.[0-9a-fA-F]{4}$|SN:^[A-Z]{2,4}[0-9A-F]{6,12}$|SN:^[0-9A-F]{16}$|SN:^[0-9A-F]{4}:[0-9A-F]{8}$';

 Пример 5: EPON/GEPON среда с новыми вендорами
 $conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^BD[0-9A-F]{10}$|SN:^CD[0-9A-F]{12}$|SN:^QT[0-9A-F]{10}$';

 Пример 6: Полная конфигурация для крупного провайдера
 $conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^HWTC[0-9A-F]{8}$|SN:^ZTEG[0-9A-F]{8}$|SN:^BD[0-9A-F]{10}$|SN:^CD[0-9A-F]{12}$|SN:^QT[0-9A-F]{10}$|SN:^DSAN[0-9A-F]{8}$|SN:^GCOM[0-9A-F]{8}$';

 Пример 7: Конфигурация для конкретных прошивок
 $conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{4}[.]([0-9A-Fa-f]{2}[.]){2}[0-9A-Fa-f]{2}$|SN:^BDCOM[0-9]{8}$|SN:^CDATA[0-9]{10}$|SN:^QTECH[0-9]{8}$';

 Пример 8: Смешанная среда с Cisco и новыми вендорами
 $conf{CPE_MAC_FORMAT} = 'MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^FHTT[0-9A-F]{8}$|SN:^RAIS[0-9A-F]{8}$|SN:^FH[A-Z0-9]{12}$|SN:^RC[A-Z0-9]{10}$';

 ============================================================================
 ВАЖНЫЕ ЗАМЕЧАНИЯ
 ============================================================================

 1. В Perl необходимо экранировать обратные слеши (\) удваиванием (\\)
 2. Символ | используется как разделитель между паттернами
 3. Если CPE_MAC соответствует любому паттерну с префиксом MAC: - форматируется как MAC
 4. Если CPE_MAC соответствует паттерну с префиксом SN: - остается без изменений
 5. Паттерны без префиксов обрабатываются как MAC-адреса (обратная совместимость)
 6. Тестируйте регулярные выражения перед использованием в продакшене
 7. Учитывайте особенности форматов разных производителей
 8. Регулярные выражения чувствительны к регистру, используйте [A-Fa-f] для hex
 9. Двоеточия внутри регулярных выражений НЕ влияют на парсинг префиксов
    Пример: MAC:^[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}$
    Здесь только первое двоеточие после 'MAC' является разделителем префикса
 10. Версии прошивок могут изменять форматы - всегда проверяйте актуальность
 11. Для EPON/GEPON оборудования часто используются специфичные форматы
 12. Серийные номера могут содержать как буквы, так и цифры
 13. При обновлении прошивки оборудования может измениться формат идентификаторов
 14. Рекомендуется группировать паттерны по вендорам для удобства сопровождения

 ============================================================================
 РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ ДЛЯ СЕРИЙНЫХ НОМЕРОВ
 ============================================================================

 С введением префиксов теперь можно безопасно использовать паттерны серийных номеров
 в CPE_MAC_FORMAT с префиксом SN:
 Они приведены для справки и понимания форматов серийных номеров
 Если серийный номер соответствует любому паттерну из CPE_MAC_FORMAT,
 он будет ошибочно обработан как MAC-адрес

 Huawei серийные номера:
 Формат HWTC + 8 шестнадцатеричных символов
 Для использования в CPE_MAC_FORMAT: SN:^HWTC[0-9A-F]{8}$
^HWTC[0-9A-F]{8}$
 Примеры: HWTC1D6A1B9D, HWTCABCD1234

 Формат 10 цифр + 6 шестнадцатеричных символов
 Для использования в CPE_MAC_FORMAT: SN:^[0-9]{10}[A-F0-9]{6}$
^[0-9]{10}[A-F0-9]{6}$
 Примеры: 2102311ABC123456, 1234567890ABCDEF

 ZTE серийные номера:
 Формат ZTEG + 8 символов
 Для использования в CPE_MAC_FORMAT: SN:^ZTEG[0-9A-F]{8}$
^ZTEG[0-9A-F]{8}$
 Примеры: ZTEG12345678, ZTEGABCD1234

 Формат ZTEGC + 7 символов
 Для использования в CPE_MAC_FORMAT: SN:^ZTEGC[0-9A-F]{7}$
^ZTEGC[0-9A-F]{7}$
 Примеры: ZTEGC1234567, ZTEGCABCDEF1

 Nokia/Alcatel серийные номера:
 Формат ALCL + 8 символов
 Для использования в CPE_MAC_FORMAT: SN:^ALCL[0-9A-F]{8}$
^ALCL[0-9A-F]{8}$
 Примеры: ALCL12345678, ALCLABCD1234

 Формат ISAM + 8 символов
 Для использования в CPE_MAC_FORMAT: SN:^ISAM[0-9A-F]{8}$
^ISAM[0-9A-F]{8}$
 Примеры: ISAM12345678, ISAMABCD1234

 Универсальные форматы серийных номеров:
 Буквенный префиксы (2-4 буквы) + цифры/буквы
 Для использования в CPE_MAC_FORMAT: SN:^[A-Z]{2,4}[0-9A-F]{6,12}$
^[A-Z]{2,4}[0-9A-F]{6,12}$
 Примеры: AB123456, HWTC12345678, ZTEG87654321

 Только цифры (8-16 символов) - длинные серийные номера
 Для использования в CPE_MAC_FORMAT: SN:^[0-9]{8,16}$
^[0-9]{8,16}$
 Примеры: 12345678, 1234567890123456

 Смешанный формат: буквы + цифры + буквы
 Для использования в CPE_MAC_FORMAT: SN:^[A-Z]{2,4}[0-9]{4,8}[A-Z0-9]{2,4}$
^[A-Z]{2,4}[0-9]{4,8}[A-Z0-9]{2,4}$
 Примеры: HWTC1234AB, ZTE5678CD12

 ============================================================================
 РЕКОМЕНДАЦИИ ПО НАСТРОЙКЕ CPE_MAC_FORMAT
 ============================================================================

 С новой функциональностью префиксов MAC: и SN: рекомендуется:

 1. ИСПОЛЬЗУЙТЕ префиксы для явного указания типа данных:
    - MAC: для паттернов MAC-адресов
    - SN: для паттернов серийных номеров
 2. Группируйте паттерны по вендорам для удобства сопровождения
 3. Тестируйте паттерны на реальных данных перед внедрением
 4. Учитывайте версии прошивок оборудования

 РЕКОМЕНДУЕМЫЕ паттерны для MAC-адресов:
 - MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$ (стандартный формат)
 - MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$ (Cisco формат)

 РЕКОМЕНДУЕМЫЕ паттерны для серийных номеров:
 - SN:^[A-Z]{2,4}[0-9A-F]{8,12}$ (буквенный префикс + цифры)
 - SN:^[A-Z0-9]{8,16}$ (универсальный алфавитно-цифровой)

 ============================================================================
 ПРИМЕРЫ РЕКОМЕНДУЕМОЙ КОНФИГУРАЦИИ С ПРЕФИКСАМИ
 ============================================================================

 Вариант 1: Только MAC-адреса (стандартные форматы)
 $conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|MAC:^[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}$';

 Вариант 2: Только серийные номера (универсальные паттерны)
 $conf{CPE_MAC_FORMAT} = 'SN:^[A-Z]{2,4}[0-9A-F]{8,12}$|SN:^[A-Z0-9]{8,16}$';

 Вариант 3: Смешанная конфигурация (MAC + серийные номера)
 $conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|MAC:^[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}$|SN:^[A-Z]{2,4}[0-9A-F]{8,12}$|SN:^[A-Z0-9]{8,16}$';

 Вариант 4: Конфигурация для конкретных вендоров
 $conf{CPE_MAC_FORMAT} = 'MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^HW[A-Z0-9]{12}$|SN:^ZTE[A-Z0-9]{8,12}$|SN:^BD[0-9A-F]{10}$';

 ============================================================================
 ДОПОЛНИТЕЛЬНЫЕ ВЕНДОРЫ
 ============================================================================








 ============================================================================
 ТЕСТИРОВАНИЕ ПАТТЕРНОВ
 ============================================================================

 Примеры данных для тестирования:
 
 MAC-адреса (должны соответствовать паттернам MAC:):
 - 00:11:22:33:44:55
 - 00-11-22-33-44-55
 - AA:BB:CC:DD:EE:FF
 - 0011.2233.4455 (Cisco формат)
 - AABB.CCDD.EEFF
 
 Серийные номера (должны соответствовать паттернам SN:):
 - BD1234567890 (BDCOM)
 - BDCOM12345678 (BDCOM старый формат)
 - BDAA12345678BB (BDCOM новый формат)
 - CD123456789ABC (C-Data)
 - CDATA1234567890 (C-Data старый формат)
 - QT1234567890 (Qtech)
 - QTECH12345678 (Qtech старый формат)
 - QTABC123456789 (Qtech новый формат)
 - DSAN12345678 (Dasan)
 - DS123456789012 (Dasan)
 - GCOM12345678 (G-Com)
 - GC1234567890 (G-Com)
 - FHTT12345678 (Fiberhome)
 - FH123XYZ789ABC (Fiberhome новый формат)
 - RAIS12345678 (Raisecom)
 - RCABC1234567 (Raisecom новый формат)
 
 Примеры полных конфигураций для тестирования:
 MAC:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$|SN:^BD[0-9A-F]{10}$
 MAC:^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$|SN:^QTECH[0-9]{8}$