in reply to Why this is work?
Hi Csonytii
I'll focus on your regular expresson /([-\d]+(\d+)*)/
In your regular expression (regex) you have used the grouping construct (...) twice. Potentially that would result in a value in $1 and $2. But because you said there is only one number in one line this is probably not what you wanted. In your regex you also have used a character group []. The character group you have created means allowing '-' and any number. Then you follow with a '+' meaning one of these characters must appear followed by zero or more of the characters from the character group. (This means also a pattern line '-2-1' is allowed). The last (\d+)* does not seem to be not necessary since it is never reached in this case. The first part of your regex /([-\d]+)/ already 'kind of' does what you want. My suggestion would be something like: /([-+]?\d+)/. This allows zero or one '-' or zero or one '+' followed by a minimum of one number followed by zero or more numbers.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Why this is work?
by Csonytii (Novice) on May 29, 2018 at 13:16 UTC |