Ooh. I like that better than mine. :)
-----Original Message----- From: Jeff 'japhy' Pinyan [mailto:[EMAIL PROTECTED]] Sent: Friday, July 12, 2002 11:08 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: an error in a simple regexp On Jul 12, Dusan Juhas said: >I typed this simple cmd in the bash: >echo 123 |perl -pe 's/(\d)(\d)/$1.$2/g' >and expected ouput like >1.2.3 >but obtained this one: >1.23 The reason you don't get "1.2.3" is because by the time Perl has matched "12", it can't match the "2" again. Here's a working regex: s/(\d)(?=\d)/$1./g; The (?=\d) looks ahead for a digit, without actually consuming it. -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ ** Look for "Regular Expressions in Perl" published by Manning, in 2002 ** <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. [ I'm looking for programming work. If you like my work, let me know. ] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]