SimpleRegex / SRL-Python

Python implementation of SRL.
MIT License
78 stars 8 forks source link

Comma affects whether an error is thrown #9

Open Clara-Brandt opened 3 years ago

Clara-Brandt commented 3 years ago

With a comma this expression is valid,

any of( (anything never or more capture(digit) ) capture(letter),(anything once or more))

any of( (anything never or more capture(digit) ) capture(letter)(anything once or more))

but without a comma it interprets (anything once or more) as a sub-query for capture(letter) and throws an error: The SRL Query contains an error: capture does not allow the use of sub-queries.

Unfortunately, "anything once or more" must be wrapped in parentheses (the parentheses are the reason a sub-query is being interpreted) so that the disjunction doesn't treat the quantifier separately.