diff --git a/casbin/core_enforcer.py b/casbin/core_enforcer.py index b0dff852..21e97646 100644 --- a/casbin/core_enforcer.py +++ b/casbin/core_enforcer.py @@ -14,6 +14,7 @@ import copy import logging +import re from casbin.effect import Effector, get_effector, effect_to_bool from casbin.model import Model, FunctionMap @@ -539,6 +540,6 @@ def configure_logging(logging_config=None): def _get_expression(expr, functions=None): expr = expr.replace("&&", "and") expr = expr.replace("||", "or") - expr = expr.replace("!", "not") + expr = re.sub(r"!(?!=)", "not ", expr) return SimpleEval(expr, functions)