INNER CODE UNIT · Python

_art_regex

lawve-ai/awesome-legal-skills · skills/ktzr-polskie-umowy-gospodarcze-adam-piotrowski/tools/legal-cite/legal_cite/core.py:88

def _art_regex(raw_art: str) -> str:
    """Buduje fragment regex dopasowujący numer artykułu w tekście źródła,
    tolerancyjnie na spacje. 385¹→'385\\s+1' (źródło: „Art. 385 1 ."),
    36a→'36\\s*a', 45→'45'."""
    s = re.sub(r'([¹²³⁴⁵⁶⁷⁸⁹⁰]+)', lambda mm: ' ' + mm.group(1).translate(_SUP), raw_art.strip())
    s = re.sub(r'\s*[\[\(\^]\s*(\d+)\s*[\]\)]?', r' \1', s)  # [1]/(1)/^1 → " 1"
    s = re.sub(r'\s+', ' ', s).strip()
    parts = s.split(' ')
    if len(parts) == 2 and parts[1].isdigit():               # baza + indeks górny
        return rf'{re.escape(parts[0])}\s+{re.escape(parts[1])}'
    mlet = re.match(r'^(\d+)([a-zA-Z])$', parts[0])
    if mlet:                                                  # sufiks literowy 36a
        return rf'{mlet.group(1)}\s*{mlet.group(2)}'
    return re.escape(parts[0])


def _strip_html(raw_html: str) -> str:
    # 1) usuń <script>/<style> WRAZ z treścią — api.sejm.gov.pl wstrzykuje strukturę

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…