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
| Name | Description |
|---|---|
COUNT_MAX | No description. |
Classes
| Name | Description |
|---|---|
Pattern | No description. |
PatternError | Образец не по грамматике §257.1; reason — фиксированная формулировка. |
Functions
| Name | Description |
|---|---|
compile_pattern | Разбор по грамматике §257.1; отказ — PatternError с фиксированной причиной. |
text_matches | Удобная форма: разбор и совпадение за один вызов (исключение — PatternError). |
COUNT_MAXattributemodule attribute#
COUNT_MAX = 65535Patternclassdataclass#
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 — фиксированная формулировка.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.