2017-10-12 4 views
-1

正と負の数字にマッチする正規表現が必要ですが、文字列の場合は " - "が必要です。 「 - 」のために数字のための正規表現ですが、 " - "は付きません

^-?[0-9]$ 

この正規表現の真の、しかし、私は彼女が偽であるように必要があります。

私の正規表現は動作しません。

-123123; //true 
12321; //true 
-; //false 
asdasd; //false 

お願いします。

+0

あなたはどの言語を使用していますか? –

+0

^- ?\ d + $は私のために働いています – Vladimir

+0

https://stackoverflow.com/questions/7407099/regex-match-numbers-of-variable-lengthこれは私にとっては役に立ちません。 – korevikov

答えて

1

あなたはとても

^-?\d+$ 

トリックに

を行う必要がありますか、これはそれが持っていることから数字を防ぐように、第2の式が優れている

^(0|-?[1-9]+\d*)$ 

良いかもしれ、少なくとも一つの数字が必要接頭辞の多い数字(例:00000001)、さらには-0

+0

2番目の正規表現を教えてください。私はそれが最初のものより良い方法を見ていません –

+0

@AleksAndreev 2番目の正規表現は、番号が0でない限り、数字が0で始まらないことを要求します。 "-0も無効です。 – puhlen

+0

ありがとうございます。 – korevikov

関連する問題