На входе имеем список регекспов, на выходе необходимо получить строки, проходящие под эти регекспы.
^foo
^foo_(?:bar|baz)$
^foo_(?:bar|baz)_[a-z]{2,3}$
foo
foo_bar
foo_bar_aa
Как-то не приходит в голову решения, чтобы без велосипедов. Возможно, я что-то упускаю, или может есть какая-нибудь либа в помощь?
Регекспы попадаются любой длины и сложности, а не только простенькие как в примере.