/regex

Поиск IPv4 и квалифицированного идентификатора в строке. С юнит-тестами.

Primary LanguagePython

ℹ️ regex

Поиск IPv4 и квалифицированного идентификатора в строке. С юнит-тестами.

🌐 Поиск IPv4

IPv4 состоит из четырех чисел, разделенных запятой, причем эти числа находятся в диапазоне от 0 до 255:

XXX.XXX.XXX.XXX

Регулярное выражение для сопоставления с числом XXX (0-255) имеет вид:

\b([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\b'

Здесь рассматривается три варианта:

  • число имеет 0 или 1 сотню;
  • число имеет 2 сотни и 0-4 десятков;
  • число имеет 2 сотни и 5 десятков.

Данное выражение используется четыре раза в IPv4, но после первых 3-х чисел всегда ставится символ точки:

\b(([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])[.]){3}([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\b

🆔 Поиск квалифицированного идентификатора

Пример квалифицированного идентификатора:

sphere.location.x

Регулярное выражение для такой строки состоит из двух частей:

  • все имена (кроме последнего), после которых идет точка;
  • последнее имя без точки в конце.

Имена должны удовлетворять условиям python. Например, они не должны начинаться с цифры.

🚀 Launch

Для начала склонируйте этот репозиторий и перейдите в директорию с проектом:

git clone https://github.com/zagaynov-andrew/regex.git && cd regex

Для запуска юнит-тестов введите команду:

python3 test_get_ip.py

и

python3 test_qualified_id.py 

📌 Для успешного запуска понадобится установленный python 3.