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}',