Поиск 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. Например, они не должны начинаться с цифры.
Для начала склонируйте этот репозиторий и перейдите в директорию с проектом:
git clone https://github.com/zagaynov-andrew/regex.git && cd regex
Для запуска юнит-тестов введите команду:
python3 test_get_ip.py
и
python3 test_qualified_id.py
📌 Для успешного запуска понадобится установленный python 3.