diff --git a/re_assert.py b/re_assert.py index 840401e..8818da1 100644 --- a/re_assert.py +++ b/re_assert.py @@ -1,8 +1,13 @@ +import sys + from typing import Any from typing import Optional from typing import Pattern -import regex +if sys.implementation.name == "cpython": + import regex +else: + import re as regex class Matches: # TODO: Generic[AnyStr] (binary pattern support) @@ -12,6 +17,9 @@ class Matches: # TODO: Generic[AnyStr] (binary pattern support) self._type = type(pattern) def _fail_message(self, fail: str) -> str: + if sys.implementation.name != "cpython": + return "regex failed to match" + # binary search to find the longest substring match pos, bound = 0, len(fail) while pos < bound: diff --git a/setup.cfg b/setup.cfg index 46303ca..74cf999 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,7 +20,7 @@ classifiers = [options] py_modules = re_assert install_requires = - regex + regex; python_implementation=="CPython" python_requires = >=3.6.1 [bdist_wheel]