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