Author: dfs
Date: Tue Dec 8 18:34:05 2009
New Revision: 888505
URL: http://svn.apache.org/viewvc?rev=888505&view=rev
Log:
Permit substitution backreferences to be specified with braces for
disambiguation (e.g., s/(foo)bar/${1}123/) in response to enhancement
request:
http://mail-archives.apache.org/mod_mbox/jakarta-oro-user/200912.mbox/%3cc73e01e3.1ddfd%[email protected]%3e
Modified:
jakarta/oro/trunk/src/java/org/apache/oro/text/regex/Perl5Substitution.java
Modified:
jakarta/oro/trunk/src/java/org/apache/oro/text/regex/Perl5Substitution.java
URL:
http://svn.apache.org/viewvc/jakarta/oro/trunk/src/java/org/apache/oro/text/regex/Perl5Substitution.java?rev=888505&r1=888504&r2=888505&view=diff
==============================================================================
--- jakarta/oro/trunk/src/java/org/apache/oro/text/regex/Perl5Substitution.java
(original)
+++ jakarta/oro/trunk/src/java/org/apache/oro/text/regex/Perl5Substitution.java
Tue Dec 8 18:34:05 2009
@@ -165,7 +165,7 @@
transient String _lastInterpolation;
private static final boolean __isInterpolationCharacter(char ch) {
- return (Character.isDigit(ch) || ch == '&');
+ return (Character.isDigit(ch) || ch == '&' || ch == '{');
}
private void __addElement(int value) {
@@ -220,12 +220,18 @@
saveDigits = false;
continue;
}
- }
+ } else if(c == '{') {
+ continue;
+ }
__addElement(posParam);
posParam = 0;
saveDigits = false;
- }
+
+ if(c == '}') {
+ continue;
+ }
+ }
if ((c != '$' && c != '\\') || escapeMode) {
escapeMode = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]