I promised Patrick this a while back but never got it, so here it is.
This is a list of the semantics that I see as needed for a regex engine. When we have 'em, we'll map them to string ops, and may well add in some special-case code for faster access.
*) extract substring *) exact string compare *) find string in string *) find first character of class X in string *) find first character not of class X in string *) find boundary between X and not-X *) Find boundary defined by arbitrary code (mainly for word breaks) *) create new class X *) add or subtract character to class X *) create union|intersection|difference of two classes
I think this about does it, and we do some of this already. Are there semantics people see as missing, or need more explanation? If so, pipe up, we'll nail them down, then get the op mapping (with implementation) and go from there.
--
Dan
--------------------------------------it's like this------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk