You know what? I agree with you that regexes are not that hard, but the main problem from my POV is the lack of a standard. Each programming language implements those in a similar but always so slightly different syntax.
If we could come up with some sort of high-level API for regexes we might end up in a better situation, given that this would make them effectively language agnostic.
And you could always revert to your platform's native option if there are some missing features on the API (Given that those type of things generally end up with a least-common-denominator approach)