
No.3ベストアンサー
- 回答日時:
カンマなしの整数は \d+
カンマ付き(3桁区切り)は、\d{1,3}(,\d{3})*
です。
以下、実装例です。
import java.util.regex.*;
public class sample {
public static void main(String[] args) {
//カンマなし整数の判定
boolean r1 = Pattern.matches("^\\d+$", "a999");
boolean r2 = Pattern.matches("^\\d+$", "8999");
System.out.println("r1=" + r1);
System.out.println("r2=" + r2);
//カンマつき整数の判定
r1 = Pattern.matches("^\\d{1,3}(,\\d{3})*$", "a999");
r2 = Pattern.matches("^\\d{1,3}(,\\d{3})*$", "8,999");
boolean r3 = Pattern.matches("^\\d{1,3}(,\\d{3})*$", "128,999");
boolean r4 = Pattern.matches("^\\d{1,3}(,\\d{3})*$", "8,9,99");
boolean r5 = Pattern.matches("^\\d{1,3}(,\\d{3})*$", "89");
System.out.println("r1=" + r1);
System.out.println("r2=" + r2);
System.out.println("r3=" + r3);
System.out.println("r4=" + r4);
System.out.println("r5=" + r5);
//両方を一度に判定
r1 = Pattern.matches("^(\\d{1,3}(,\\d{3})*)|(\\d+)$", "a999");
r2 = Pattern.matches("^(\\d{1,3}(,\\d{3})*)|(\\d+)$", "8999");
r3 = Pattern.matches("^(\\d{1,3}(,\\d{3})*)|(\\d+)$", "128,999");
r4 = Pattern.matches("^(\\d{1,3}(,\\d{3})*)|(\\d+)$", "8,9,99");
System.out.println("r1=" + r1);
System.out.println("r2=" + r2);
System.out.println("r3=" + r3);
System.out.println("r4=" + r4);
}
}
実行結果
r1=false
r2=true
r1=false
r2=true
r3=true
r4=false
r5=true
r1=false
r2=true
r3=true
r4=false
trueがマッチ、falseがアンマッチです。
この回答へのお礼
お礼日時:2022/05/21 12:59
ご丁寧にありがとうございます。
無事コンパイルできました。
これを機に正規表現をきちんと勉強したいと思います。本当にありがとうございました…!
No.4
- 回答日時:
No.1
- 回答日時:
回答できる保証はありませんが、
正規表現は言語(又はツール等)によって、方言があります。
あなたが対象としている正規表現の言語を明確にすると、正確な回答が期待できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPファイルで生じるエラーをど...
-
正規表現について質問です。 カ...
-
サーブレットとPHPの違い
-
ダブルコロンとアロー演算子
-
vba クリップボードクリアにつ...
-
Javaでのエラーについて
-
VBAの「for i=1 to cells(…」...
-
IISワーカープロセスが原因でCP...
-
使用しているJUnitのバージョン...
-
テーブル名が日本語だとクエリ...
-
エクリプスのプログラミングに...
-
gitでバージョン指定してダウン...
-
Eclipseソース開発画面の行番号...
-
映写機のフィルム効果音のサウ...
-
unzip32.dllの利用について(64b...
-
OCXについて教えてください。
-
C#のメモリマップドファイルに...
-
URLDownloadToFileのコピペで64...
-
C言語を学ぶにあたっての数学の...
-
サーブレットで電卓をつくる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPファイルで生じるエラーをど...
-
正規表現について質問です。 カ...
-
javaのジェネリックスでTとEの...
-
javaでの#if 0 #endif文
-
VScodeのターミナルの文字化け...
-
サーブレットとPHPの違い
-
Pure Javaとは?
-
カレンダー
-
Javascriptで出来ること
-
Javaを徹底的に理解したい
-
Javaって何ですか?
-
C言語の種類と特徴について教え...
-
JAVAが誕生した経緯
-
javaの堅牢性とは
-
google カレンダ API java
-
ソーティングについて
-
Javaで五輪マークを描く
-
RSA暗号の実装
-
形態素解析ツール「茶筅」をJAV...
-
データベースの形式を認識でき...
おすすめ情報
ありがとうございます!
java se8です!
何度も申し訳ありません。
3桁ごとにカンマで区切られた整数字でした…。
また、正規表現について色々と調べたのですが、いまいち理解できず、自分で正規表現を考えるにあたって、どのように組み立てたら良いのかなど、なにか、アドバイスを頂けませんでしょうか。