I am guessing that the problem is you don't want to leave the \r\n behind. One way to deal with this is to simply do multiple match/replace operations.
First delete the string if it matches, Then delete \r if it matches. then delete \n if you get a match for it. If either of the terminators is mot there, it doesn't match and nothing happens. This handles an eof without a newline too. Granted this is probably slower, and requries more typing, but perhaps less typing than debugging cross platform regexps in Ant :). Gus Lou Fox wrote: > > The problem is strictly the end of line termination character. If I leaves > off the \r\n it will match all of the line except the \r\n at the end of the > line. The $ acts as if there isn't a \r\n in the regular expression, and > thus matches the entire line except the \r\n at the end of the line as well. > I was hoping that the author, Mathew Inger would look into this, but I'm > going to try to debug it myself. It'll be a great learning experience since > I never debugged an application this large before. > > ----- Original Message ----- > From: "Steven Newton" <[EMAIL PROTECTED]> > To: "Ant Developers List" <[EMAIL PROTECTED]>; "Lou Fox" > <[EMAIL PROTECTED]> > Sent: Thursday, June 20, 2002 4:36 PM > Subject: RE: Problems with ReplaceRegex > > It should be fairly straightforward to resolve, though I recommend > getting a good reference on regexes if you're going to be doing > this thing a lot. > > First, instead of \r\n use $, this will match the end of line no matter > what platform. Second, I'm guessing the other two backslashes in the > expression need to be escaped out. So, try this one: > > match="^.*\\.(gif|jpg|js|ram)\\^.*$" > > s > > > -----Original Message----- > > From: Lou Fox [mailto:[EMAIL PROTECTED] > > Sent: Thursday, June 20, 2002 11:23 AM > > To: [EMAIL PROTECTED] > > Subject: Problems with ReplaceRegex > > > > > > I've been trying to get this replaceregex to work for several > > days now without any progress. I even wrote the exact same > > regex in perl and it worked just fine, could someone please > > look into this for me. > > Here is the replaceregexp that I'm using: > > <fileset id="unzippedfiles" dir="${tmpdir}" /> > > <replaceregexp > > byline="true" > > flags="i" > > match="^.*\.(gif|jpg|js|ram)\^.*\r\n" > > replace=""> > > <fileset refid="unzippedfiles" /> > > </replaceregexp> > > > > Currently it doesn't match at all. If I remove the \r\n, > > then it removes the text from the line, and leaves the \r\n. > > Adding the flags="s" doesn't change the behavior at all. > > Using \\r\\n or \n or \\n doesn't match at all. > > > > My CLASSPATH is > > .\;D:\java\jakarta-oro-2.0.6\jakarta-oro-2.0.6.jar;D:\java\xer > > ces-2_0_1\tools\xerces.jar;d:\j2sdk1.4.0\jre\lib\rt.jar > > > > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
