# parser.py
import re


def parse_region_id(host: str) -> int | None:
    """
    Извлекает region_id из строки host.
    Формат: p<region><...>, например p18ecpapp01 → region_id = 18

    Returns:
        int | None: номер региона или None
    """
    if not host or not host.startswith("p"):
        return None

    match = re.match(r"^p(\d+)", host)
    if match:
        return int(match.group(1))
    return None
