Re: Hi Folks : I'm trying to create a regular expression for finding a # wishing a dataset for only a number that is a multiple of 5
Thanks a lot Gautam S Desai On Sun, Sep 8, 2019 at 6:39 PM Mike wrote: > > It's probably best if you write a short script > that reads a __DATA__ section of data. > Then tell us what it does and what you expected > it to do. > > Off hand I don't see anything wrong with your regex, > but I don't know what you expect it to do. > > > Mike > > > On 9/8/2019 4:34 PM, Jim Gibson wrote: > > On Sep 8, 2019, at 1:30 PM, Gautam Desai > wrote: > >> Do you guys have any pointers ? > > $t =~ m{ > > ( # capture matched number in $1 > > \d* # match zero or more decimal digits > > [05] # followed by a '0' or '5' > > ) # end of capture > > (?: # followed by either: > > \D# a non-digit > > | # or > > $ # the end of the string > > ) > > }x > > > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > >
Re: Hi Folks : I'm trying to create a regular expression for finding a # wishing a dataset for only a number that is a multiple of 5
> On Sep 8, 2019, at 6:36 PM, Olivier wrote: > > Jim Gibson writes: > >> On Sep 8, 2019, at 3:39 PM, Mike wrote: >>> >>> >>> It's probably best if you write a short script >>> that reads a __DATA__ section of data. >>> Then tell us what it does and what you expected >>> it to do. >>> >>> Off hand I don't see anything wrong with your regex, >>> but I don't know what you expect it to do. >>> >> >> I expect it to return a positive value if $t contains a number anywhere >> within it and put that number in the $1 capture variable. > > Well, that is not what is in your regex: you look for a decimal number > ending with 0 or 5, and it must be the last number of the line. > > What about something simple like: > >/(\d*[05])\D*$/ I prefer the explicit (?:…|…) structure that tells the reader that an alternate expression is being used. Also, the “zero or more” * operator can be very slow for long strings. > > The Regex Coach is your friend (and works well under wine). > > It alsways help to present with some sample data. If you want to use this regex, then you should test it yourself. I did. > > Best regards, > > Olivier > >>> >>> Mike >>> >>> >>> On 9/8/2019 4:34 PM, Jim Gibson wrote: On Sep 8, 2019, at 1:30 PM, Gautam Desai wrote: > Do you guys have any pointers ? $t =~ m{ ( # capture matched number in $1 \d* # match zero or more decimal digits [05] # followed by a '0' or '5' ) # end of capture (?: # followed by either: \D# a non-digit | # or $ # the end of the string ) }x >>> >>> -- >>> To unsubscribe, e-mail: beginners-unsubscr...@perl.org >>> For additional commands, e-mail: beginners-h...@perl.org >>> http://learn.perl.org/ >>> >>> >> >> Jim Gibson >> j...@gibson.org > > -- > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ Jim Gibson j...@gibson.org -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/
Re: Hi Folks : I'm trying to create a regular expression for finding a # wishing a dataset for only a number that is a multiple of 5
Jim Gibson writes: > On Sep 8, 2019, at 3:39 PM, Mike wrote: >> >> >> It's probably best if you write a short script >> that reads a __DATA__ section of data. >> Then tell us what it does and what you expected >> it to do. >> >> Off hand I don't see anything wrong with your regex, >> but I don't know what you expect it to do. >> > > I expect it to return a positive value if $t contains a number anywhere > within it and put that number in the $1 capture variable. Well, that is not what is in your regex: you look for a decimal number ending with 0 or 5, and it must be the last number of the line. What about something simple like: /(\d*[05])\D*$/ The Regex Coach is your friend (and works well under wine). It alsways help to present with some sample data. Best regards, Olivier >> >> Mike >> >> >> On 9/8/2019 4:34 PM, Jim Gibson wrote: >>> On Sep 8, 2019, at 1:30 PM, Gautam Desai >>> wrote: Do you guys have any pointers ? >>> $t =~ m{ >>> ( # capture matched number in $1 >>> \d* # match zero or more decimal digits >>> [05] # followed by a '0' or '5' >>> ) # end of capture >>> (?: # followed by either: >>> \D# a non-digit >>> | # or >>> $ # the end of the string >>> ) >>> }x >>> >> >> -- >> To unsubscribe, e-mail: beginners-unsubscr...@perl.org >> For additional commands, e-mail: beginners-h...@perl.org >> http://learn.perl.org/ >> >> > > Jim Gibson > j...@gibson.org -- -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/
Re: Hi Folks : I'm trying to create a regular expression for finding a # wishing a dataset for only a number that is a multiple of 5
On Sep 8, 2019, at 3:39 PM, Mike wrote: > > > It's probably best if you write a short script > that reads a __DATA__ section of data. > Then tell us what it does and what you expected > it to do. > > Off hand I don't see anything wrong with your regex, > but I don't know what you expect it to do. > I expect it to return a positive value if $t contains a number anywhere within it and put that number in the $1 capture variable. > > Mike > > > On 9/8/2019 4:34 PM, Jim Gibson wrote: >> On Sep 8, 2019, at 1:30 PM, Gautam Desai >> wrote: >>> Do you guys have any pointers ? >> $t =~ m{ >> ( # capture matched number in $1 >>\d* # match zero or more decimal digits >>[05] # followed by a '0' or '5' >> ) # end of capture >> (?: # followed by either: >>\D# a non-digit >> | # or >>$ # the end of the string >> ) >> }x >> > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > Jim Gibson j...@gibson.org -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/
Re: Hi Folks : I'm trying to create a regular expression for finding a # wishing a dataset for only a number that is a multiple of 5
It's probably best if you write a short script that reads a __DATA__ section of data. Then tell us what it does and what you expected it to do. Off hand I don't see anything wrong with your regex, but I don't know what you expect it to do. Mike On 9/8/2019 4:34 PM, Jim Gibson wrote: On Sep 8, 2019, at 1:30 PM, Gautam Desai wrote: Do you guys have any pointers ? $t =~ m{ ( # capture matched number in $1 \d* # match zero or more decimal digits [05] # followed by a '0' or '5' ) # end of capture (?: # followed by either: \D# a non-digit | # or $ # the end of the string ) }x -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/
Re: Hi Folks : I'm trying to create a regular expression for finding a # wishing a dataset for only a number that is a multiple of 5
On Sep 8, 2019, at 1:30 PM, Gautam Desai wrote: > > Do you guys have any pointers ? $t =~ m{ ( # capture matched number in $1 \d* # match zero or more decimal digits [05] # followed by a '0' or '5' ) # end of capture (?: # followed by either: \D# a non-digit | # or $ # the end of the string ) }x -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/