Hello The reaseon why PCRE is faster is because the POSIX standard demands to return the longest matching string which means POSIX checks all possible matches while PCRE simply returns the first valid match. In cases where there is no match both have to check all matches. The other thing is, as mentioned before PCRE is a lot more powerfull than POSIX. It contains stuff like look ahead, look behind which POSIX doesn't support.
Regards Stefan Langer