From 866a541784078b7afab0a6612e007ee38af369d5 Mon Sep 17 00:00:00 2001 From: Benedikt Seeger <benedikt.seeger@ptb.de> Date: Wed, 8 May 2024 09:43:06 +0200 Subject: [PATCH] added regEXGenerator --- src/dsiUnits.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/dsiUnits.py b/src/dsiUnits.py index da45461..55b1084 100644 --- a/src/dsiUnits.py +++ b/src/dsiUnits.py @@ -720,6 +720,19 @@ def _getClosestStr(unkownStr): possibleDsiKeys = _dsiPrefixesLatex.keys() | _dsiUnitsLatex.keys() | _dsiKeyWords.keys() closestStr = difflib.get_close_matches(unkownStr, possibleDsiKeys, n=3,cutoff=0.66) return closestStr + +def generateRegeEXForDSIValidation(): + import re + # Lists of prefixes and units + dsi_prefixes = _dsiPrefixesUTF8.keys() + dsi_units = _dsiUnitsLatex.keys() + + # Constructing the regex pattern + prefix_pattern = '|'.join(re.escape(prefix) for prefix in dsi_prefixes) + unit_pattern = '|'.join(re.escape(unit) for unit in dsi_units) + regex_pattern = r'\\(?:{})(?:\\{})?(?:\\tothe{{[+-]?\d+}})?'.format(prefix_pattern, unit_pattern) + return regex_pattern + # mapping D-SI prefixes to latex _dsiPrefixesLatex = { 'deca': r'\mathrm{da}', -- GitLab