diff --git a/guardrails/utils/tokenization_utils.py b/guardrails/utils/tokenization_utils.py index 437fdb751..b9a20c2f7 100644 --- a/guardrails/utils/tokenization_utils.py +++ b/guardrails/utils/tokenization_utils.py @@ -8,8 +8,9 @@ def replace_til_no_change(input_text, pattern, replacement): + compiled = re.compile(pattern) if not isinstance(pattern, re.Pattern) else pattern while True: - new_text = re.sub(pattern, replacement, input_text) + new_text = compiled.sub(replacement, input_text) if new_text == input_text: break input_text = new_text