Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Floating Point/Integer Regular Expression

by shortyfw06 (Beadle)
on Jul 25, 2012 at 15:46 UTC ( #983691=note: print w/ replies, xml ) Need Help??


in reply to Re: Floating Point/Integer Regular Expression
in thread Floating Point/Integer Regular Expression

Thank you. That is a useful function! I ended up answering my own question for a regex that includes negative/positive integers and negative/positive floating points.

/^(?:|-|\d+|-\d+|\d+.|-\d+\.|\d+\.\d+|-\d+\.\d+)$/

And just for clarification, this is used as a -validatecommand.


Comment on Re^2: Floating Point/Integer Regular Expression
Download Code
Replies are listed 'Best First'.
Re^3: Floating Point/Integer Regular Expression
by tobyink (Abbot) on Jul 25, 2012 at 23:45 UTC

    Did you know that regexp matches:

    • -
    • 1.

    But fails to match:

    • .1
    • -.1

    You might want to try this. It's somewhat simpler than yours, and it disallows the single hyphen, but allows decimals which start with the decimal point and no preceding 0.

    /^[-]?(?:[.]\d+|\d+(?:[.]\d*)?)$/

    Or if you consider a leading/trailing decimal point to be an error, it can be made simpler:

    /^[-]?\d+(?:[.]\d+)?$/
    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://983691]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (13)
As of 2015-07-07 22:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls