Non-String Regular Expressions
NSRE (Non-String Regular Expressions) is a new spin at regular expressions It's really abstract, even compared to regular expressions as you know them but it's also pretty powerful for some uses.
Here's the twist: what if regular expressions could, instead of matching just character strings, match any sequence of anything?
from nsre import *
re = RegExp.from_ast(seq('hello, ') + (seq('foo') | seq('bar')))
assert re.match('hello, foo')
The main goal here is matching NLU grammars when there is several possible interpretations of a single word, however there is a lot of other things that you could do. You just need to understand what NSRE is and apply it to something.
Note — This is inspired by this article from Russ Cox which explains how Thompson NFA work, except that I…