diff --git a/src/dsiUnits.py b/src/dsiUnits.py index da454617a9261528779700bbe4c27a313ceb21b4..55b1084ce4d56d4dbc82655948086ebcf021d215 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}',