@schmidt_fu Not off the top of my head.

If you construct a DFA, I think you can do search doing a walk backwards from halting state to initial state and dump stuff whenever you hit initial. Of course, the graph can get humongous, so I bet there's a better way to do this if you're clever about representations.

Generating _interesting_ output could also be a challenge, because with something like a(b|c)+, you could just keep enumerating abbbb… results without ever hitting any of the acccc… ones if you weren't careful. That suggests you want to do a BFS rather than a DFS.

Hmm, actually, maybe look at fuzzers like AFL or generative testing systems like Hypothesis? The latter tend to use a much richer language then regex, but their goal _is_ generating interesting examples fitting the bill!

//