Skip to content

lawref.textpattern

Образец текста §257.1 (errata E-0166): разбор и полное совпадение.

Закрытый детерминированный диалект, определённый prose, а не regex-движком: литеральные кодовые точки с экранированием \, . — любая кодовая точка, \d — цифра 0–9 (только ASCII), классы […] с диапазонами и ^, счётчики ?, {n}, {n,m}. Ни чередования, ни групп, ни обратных ссылок, ни незамкнутых счётчиков: у каждого образца конечное множество длин, и совпадение всегда завершается. Совпадение — по кодовым точкам после NFC §13; документы канона §208 уже несут NFC, поэтому здесь ничего не нормализуется.

Формулировки отказов — БАЙТОВЫЙ КОНТРАКТ: движок (law_canon::text_pattern) повторяет их дословно, и check_differential сверяет тотальный TYPE_ERROR над образцом-значением слово в слово.

Attributes

NameDescription
COUNT_MAXNo description.

Classes

NameDescription
PatternNo description.
PatternErrorОбразец не по грамматике §257.1; reason — фиксированная формулировка.

Functions

NameDescription
compile_patternРазбор по грамматике §257.1; отказ — PatternError с фиксированной причиной.
text_matchesУдобная форма: разбор и совпадение за один вызов (исключение — PatternError).

COUNT_MAXattributemodule attribute#

COUNT_MAX = 65535

Patternclassdataclass#

class Pattern(pieces: tuple[tuple[_Atom, int, int], ...])

piecesattributeinstance attribute#

pieces: tuple[tuple[_Atom, int, int], ...]

matchesmethod#

def matches(text: str) -> bool

Полное совпадение: весь текст против всего образца (якоря подразумеваются).

PatternErrorclass#

class PatternError(reason: str)

Bases: ValueError

Образец не по грамматике §257.1; reason — фиксированная формулировка.

reasonattributeinstance attribute#

reason = reason

compile_patternfunction#

def compile_pattern(pattern: str) -> Pattern

Разбор по грамматике §257.1; отказ — PatternError с фиксированной причиной.

text_matchesfunction#

def text_matches(text: str, pattern: str) -> bool

Удобная форма: разбор и совпадение за один вызов (исключение — PatternError).

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.