jakarta-oro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Davey - Sun UK Support Engineer <michael.da...@Sun.COM>
Subject Re: special control characters
Date Wed, 30 Jan 2002 09:23:12 GMT

"Daniel F. Savarese" wrote:

> "s/foo/bar/" is split up into its components first, taking into account
> any escaped delimiters.
>   foo is a regular expression, so Perl5Compiler compiles the expression
>     if it is not already cached.  Therefore all Perl escapes are handled.
>   bar is the replacement string and is therefore not touched by Perl5Compiler.
>     If it contains nothing that needs special treatment, it is a handled
>     by a StringSubstitution (i.e., a normal Java string included verbatim).
>     If it contains something special, it is handled by Perl5Substitution, so
>     any group interpolations (e.g., $1, $2) are processed and also the case
>     modification escapes (\u\U\e\E).  The case modification escapes used
>     to not be handled because they are a part of normal Perl string
>     processing and were considered out of scope.  But Mark made a convincing
>     argument to include them and provided a patch to boot, so they are now
>     handled.
> The gist of it is that if you use "\\t" in the replacement string it is
> a vanilla Java string and treated as '\' followed by 't', so you would use
> "\t" if you really wanted a tab to be substituted.

Okay, I think that what you are saying (reading between the lines) is
the substitution and replacement strings are parsed, but the input that
we search on is not parsed. 

If this is the case, would it make sense to add a parser for the input
The input parser would parse the control characters and escape sequences
on page 40 of Programming Perl, 2nd Ed.


To unsubscribe, e-mail:   <mailto:oro-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:oro-dev-help@jakarta.apache.org>

View raw message