def test_regset_search_with_flags(): regset_A = onigurumacffi.compile_regset(r'\Afoo', 'foo') idx, match = regset_A.search('foo') assert idx == 0 assert match is not None idx, match = regset_A.search( 'foo', flags=onigurumacffi.OnigSearchOption.NOT_BEGIN_STRING, ) assert idx == 1 assert match is not None regset_G = onigurumacffi.compile_regset(r'\Gfoo', 'foo') idx, match = regset_G.search('afoo', start=1) assert idx == 0 assert match is not None idx, match = regset_G.search( 'afoo', start=1, flags=onigurumacffi.OnigSearchOption.NOT_BEGIN_POSITION, ) assert idx == 1 assert match is not None
def test_regset_returns_first_regex_when_equal(): regset = onigurumacffi.compile_regset('a', '[^z]') idx, match = regset.search('zzza') assert idx == 0 assert match is not None assert match.group() == 'a'
def test_regset_empty_match_empty_string(): regset = onigurumacffi.compile_regset('a', '.*') idx, match = regset.search('') assert idx == 1 assert match is not None assert match.group() == ''
def test_regset_repr(): ret = repr(onigurumacffi.compile_regset('abc', 'def')) assert ret == "onigurumacffi.compile_regset('abc', 'def')"
import pytest import onigurumacffi FOO_RE = onigurumacffi.compile('^foo') ABC_RE = onigurumacffi.compile('(a+)B+(c+)') UNICODE_RE = onigurumacffi.compile('.*?(🙃+)') REGSET = onigurumacffi.compile_regset('a+', 'b+', 'c+') def test_regex_compiles(): assert FOO_RE is not None def test_regex_repr(): assert repr(FOO_RE) == "onigurumacffi.compile('^foo')" def test_regex_compile_failure(): with pytest.raises(onigurumacffi.OnigError): onigurumacffi.compile('(') def test_regex_number_of_captures(): assert FOO_RE.number_of_captures() == 0 assert ABC_RE.number_of_captures() == 2 assert UNICODE_RE.number_of_captures() == 1 def test_match_failure(): assert FOO_RE.match('bar') is None
def _set_no_A_no_G(self) -> onigurumacffi._RegSet: patterns = (_replace_esc(p, 'AG') for p in self._patterns) return onigurumacffi.compile_regset(*patterns)
def _set(self) -> onigurumacffi._RegSet: return onigurumacffi.compile_regset(*self._patterns)
def __init__(self, *s: str) -> None: self._patterns = s self._set = onigurumacffi.compile_regset(*self._patterns)