Well answered, Harold. :) Regular expressions can be a little daunting when you 
first start looking at them, but they're very powerful once you've wrapped your 
head around how they work. And I'm finding that they pop up *everywhere* these 
days!


-----Original Message-----
From: Harold Putman [mailto:hput...@lexmark.com]
Sent: 18 January 2012 19:51
To: Ant Users List
Subject: Re: Update property value in file and retaining format.

These are Regular Expression "metacharacters"

^ means start of line
$ means end of line
\1 is a "backreference" used in substitution. It means insert the first
part of the pattern than matches.

If you Google or look up a book on Regular Expressions you will find more
complete explanations of these things.

-Harold

On Wed, Jan 18, 2012 at 11:46 AM, Nehal Patel <nehalhpatel...@gmail.com>wrote:

> Nice, this was the solution!
> Frankly this is a bit more advanced that i know.
>
> I don't know the following:
> What the "^" means.
> What the "$" means.
> What the "\1" means.
>
>
> Thanks.
>
> On Mon, Jan 16, 2012 at 4:38 AM, Emma Burrows <emma.burr...@rpharms.com
> >wrote:
>
> > You're replacing the entire "Test2<tab><tab>=" line with the string
> > "test2=xxxxx" which obviously doesn't contain the tab characters.
> >
> > You should probably investigate more sophisticated ways of preserving the
> > original tabs like
> >
> > match="^([ \t]*test2[ \t]*=)(.*)$"
> > replace="\1xxxxxxx"
> >
> > I haven't tested it but something like that should preserve "test2" and
> > all the tabs around it, while still replacing the bit you actually want
> to
> > change, which is whatever comes after the = sign.
> >
> > HTH!
> >
> >
> > -----Original Message-----
> > From: Nehal Patel [mailto:nehalhpatel...@gmail.com]
> > Sent: 13 January 2012 23:01
> > To: user@ant.apache.org
> > Subject: Update property value in file and retaining format.
> >
> > Hello,
> > Having an problem updating the value of in a property file and
> > retaining the format.  For example i have the following
> > stuff.properties:
> > test1  <tab> <tab> <tab> =aaa
> > test2  <tab> <tab> <tab> =bbb
> > test3  <tab> <tab> <tab> =ccc
> >
> >
> > I run the following:
> >        <target name="update-stuff-properties">
> >                <replaceregexp file="stuff.properties"
> >                        match="^[ \t]*test2[ \t]*=.*$"
> >                        replace="test2=zzzzzzzz"
> >                        byline="true"
> >                />
> >        </target>
> >
> >
> > I get the following:
> > test1  <tab> <tab> <tab> =aaa
> > test2=zzzzzzzz
> > test3  <tab> <tab> <tab> =ccc
> >
> >
> > I must be missing something on how to retain the "  <tab> <tab> <tab>
> > " which proceed the "=".
> >
> > Thanks.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> > For additional commands, e-mail: user-h...@ant.apache.org
> >
> >
> > ______________________________________________________________________
> > This email has been scanned by the Symantec Email Security.cloud service.
> > For more information please visit http://www.symanteccloud.com
> > ______________________________________________________________________
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> > For additional commands, e-mail: user-h...@ant.apache.org
> >
> >
>



--
Harold PUTMAN
Web Technology Specialist
*Lexmark International, Inc. <http://www.lexmark.com>*
740 W New Circle Rd.
Lexington, KY 40550
+1(859) 232-2839
hput...@lexmark.com


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
For additional commands, e-mail: user-h...@ant.apache.org

Reply via email to