src.pydasa.validations.patterns =============================== .. py:module:: src.pydasa.validations.patterns .. autoapi-nested-parse:: Module patterns.py =========================================== Regex patterns for validation and parsing in PyDASA. Contains: - LaTeX validation patterns - FDU (Fundamental Dimensional Unit) matching patterns - Default and working pattern sets for dimensional analysis Attributes ---------- .. autoapisummary:: src.pydasa.validations.patterns.LATEX_RE src.pydasa.validations.patterns.LATEX_VAR_TOKEN_RE src.pydasa.validations.patterns.DFLT_POW_RE src.pydasa.validations.patterns.PI_COEF_RE src.pydasa.validations.patterns.PI_POW_RE src.pydasa.validations.patterns.NUM_CONST_RE src.pydasa.validations.patterns.BASIC_OPS_RE src.pydasa.validations.patterns.IGNORE_EXPR Module Contents --------------- .. py:data:: LATEX_RE :type: str :value: '\\\\?[a-zA-Z]+(?:_\\{[a-zA-Z0-9_]+\\})?' LaTeX regex pattern to match LaTeX symbols (e.g., '\alpha') with optional subscripts (e.g., '\mu_{1}', '\lambda_{s}') in *PyDASA*. .. py:data:: LATEX_VAR_TOKEN_RE :type: str :value: '(\\\\[A-Za-z]+|[A-Za-z][A-Za-z0-9]*)(?:_(?:[A-Za-z0-9]+|\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{(... Regex pattern to match LaTeX-like variable tokens with optional subscripts, supporting up to 5 levels of nested braces inside subscripts. .. rubric:: Examples '\alpha', '\mu_{1}', 'M_{buf_{AS}}', 'M_{a*(c*t_{R_{P*(A*(C*S))}})}' .. py:data:: DFLT_POW_RE :type: str :value: '\\-?\\d+' Default regex to match FDUs with exponents (e.g., 'M*L^-1*T^-2' to 'M^(1)*L^(-1)*T^(-2)'). .. py:data:: PI_COEF_RE :type: str :value: '\\\\Pi_\\{\\d+\\}' Regex pattern to match dimensionless coefficients in *PyDASA* (e.g, '\Pi_{1}', '\Pi_{2}'). .. py:data:: PI_POW_RE :type: str :value: '(\\\\Pi_\\{\\d+\\})\\s*\\*\\*\\s*\\(([^)]+)\\)' Regex pattern to match dimensionless coefficients with power operations in *PyDASA* (e.g., '\Pi_{1}**(-2)'). .. py:data:: NUM_CONST_RE :type: str :value: '^[-+]?\\d*\\.?\\d+(?:[eE][-+]?\\d+)?$' Regex pattern to match numeric constants (e.g., '3.14', '-2.5e3') in *PyDASA*. .. py:data:: BASIC_OPS_RE :value: '(\\*|\\/|\\+|\\-|\\^)' Regex pattern to split expressions by basic operations (*, /, ^, +, -) in *PyDASA*. .. py:data:: IGNORE_EXPR Set of LaTeX expressions to ignore during parsing in *PyDASA*.