diff --git a/changelogs/fragments/3.11_fixes.yaml b/changelogs/fragments/3.11_fixes.yaml new file mode 100644 index 0000000..283e503 --- /dev/null +++ b/changelogs/fragments/3.11_fixes.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - mac - reorganize regexes to work around 3.11 regex changes. (https://github.com/ansible-collections/ansible.utils/pull/231) diff --git a/plugins/test/mac.py b/plugins/test/mac.py index 9a74d14..6588c14 100644 --- a/plugins/test/mac.py +++ b/plugins/test/mac.py @@ -112,12 +112,12 @@ def _mac(mac): _validate_args("mac", DOCUMENTATION, params) # IEEE EUI-48 upper and lower, commom unix - re1 = r"^(?i)([0-9a-f]{2}[:-]){5}[0-9a-f]{2}$" + re1 = r"^([0-9a-f]{2}[:-]){5}[0-9a-f]{2}$" # Cisco triple hextex - re2 = r"^(?i)([0-9a-f]{4}\.[0-9a-f]{4}\.[0-9a-f]{4})$" + re2 = r"^([0-9a-f]{4}\.[0-9a-f]{4}\.[0-9a-f]{4})$" # Bare - re3 = r"^(?i)[0-9a-f]{12}$" - regex = "{re1}|{re2}|{re3}".format(re1=re1, re2=re2, re3=re3) + re3 = r"^[0-9a-f]{12}$" + regex = "(?i){re1}|{re2}|{re3}".format(re1=re1, re2=re2, re3=re3) return bool(re.match(regex, mac))