RikuMoto
@RikuMoto (Riku Moto)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ある正規表現を作成したいJava

解決したいこと

ある正規表現を作成したいです。

マッチ↓
1,2,3,4,基本半角整数のみ
-10,-100などのマイナスはOK
0だけOK

マッチしてはダメ↓
A、a、ア、ア 1、2などの半角全角英数字
- ハイフンだけの記号

自分で試したこと

seiki.java
		if (!(value.matches("^[-0-9]+$"))) {
			error_message = "単価を半角数字で入力してください";
			return;
		}

現在このような正規表現を作成したのですが、
-を入力するとerror_messageに格納されてしまいます。

あと一歩のところなのですが解決策が浮かびません。
宜しくお願い致します。

0

1Answer

一般的な整数表現にだけマッチしたいなら

  • -0 にはマッチしない
  • 012-0034 にもマッチしない

も条件に加える必要があると思います。これらも考慮すると

"^0$|^-?[1-9][0-9]*$"

と書けます。

3Like

Comments

  1. @RikuMoto

    Questioner

    いつも回答いただきありがとうございます!
    できました!!!!

Your answer might help someone💌