I think the regex engine provides enough hooks that you could write such a function w/o access to the underlying C code. For instance, some automatically placed
(?{}) assertions might allow the scoring routine to offer "partial credit" for regexes that only match part of the string. Therefore, you could allow for a finer granularity than just 1=match 0=nomatch.
(?{}) is a relativly new feature that allows arbritrary code to be executed inside your regex..... it is (ab)used in the
rebug regex debugger that japhy mentioned a while back.
-Blake