Regular expressions are very powerful, but they have one small and one big problem; they are hard to write, and near impossible to read.
In a best case the use of the regular expression solves the problem, so then you only have the maintainencemaintenance problem of the complicated code. If you don't get the regular expression just right, you have both the original problem and the problem with unreadable code that doesn't work.
Sometimes regular expressions are referred to as write-only code. Faced with a regular expression that needs fixing, it's often faster to start from scratch than to try to understand the expression.