The point of this post is that even though the regex behaves correctly (input x produces expected output y), you also need to consider performance constraints.
Without fuzzing, it's going to be pretty difficult to come up with enough test cases to thoroughly test a regex.
Wouldn't the same apply to a custom method? Why would code using a combination of indexOf(), substring() and trim() be any less foolproof on arbitrary data?
Yeah, testing what you expect in regexes is super easy. Edge case testing is not though. Just like exactly what happened in the post this discussion is about..