fonduer icon indicating copy to clipboard operation
fonduer copied to clipboard

search and full_match args in RegexMatchSpan are dependent and confusing

Open HiromuHota opened this issue 4 years ago • 0 comments

Is your feature request related to a problem? Please describe.

The method signature is currently RegexMatchSpan(rgx: str, ignore_case: bool, search: bool=False, full_match: bool=True, longest_match_only: bool).

search=False is equivalent to wrap the provided rgx with ^(<rgx>) to match at the beginning of a span. On the other hand, full_match=True wraps the provided rgx with (<rgx>)$ to match at the end of a span. The problem is that full_match=True fully matches only when search=False, which means the behavior of full_match depends on search.

Describe the solution you'd like

Remove search and full_match args, and add a new arg like mode that takes "search", "match", or "fullmatch" (named after re.search, re.match, re.fullmatch).

Describe alternatives you've considered

Just remove search and full_match args and give the user the full control over regex. In this case, the ignore_case can also be removed.

Additional context Add any other context or screenshots about the feature request here.

HiromuHota avatar May 20 '20 21:05 HiromuHota