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で質問しましょう!
似たような質問が見つかりました
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Java コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場 2 2022/05/31 21:32
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- 数学 問題文 正n角形がある(nは3以上の整数)。この正n角形のn個の頂点のうちの3個を頂点とする三角形に 4 2023/03/22 14:57
- 数学 集合素人の質問 3 2022/08/21 18:41
- 数学 (1) 方程式 65x+31y=1の整数解をすべて求めよ。 (2) 65x+31y=2016 を満た 1 2022/06/29 11:02
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaでの#if 0 #endif文
-
形態素解析ツール「茶筅」をJAV...
-
データベースの形式を認識でき...
-
Javaでクライアントアプリを作...
-
JSPファイルで生じるエラーをど...
-
JSP・サーブレットとphpどちら...
-
javaで大規模なPCゲームを作る...
-
javaとc言語、どちらがゲーム...
-
Pure Javaとは?
-
javaアップレットとjavascript...
-
JAVA グローバル配列
-
javaのジェネリックスでTとEの...
-
vba クリップボードクリアにつ...
-
MSFormsとは何ですか?
-
プログラミング開発経験とは?
-
JAVA プログラミング ロッカ...
-
Javaでのエラーについて
-
JAVA基礎の課題で自動販売機
-
今年28歳女性 プログラマー未...
-
vectorクラスについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PythonやJavaScriptのように実...
-
JSPファイルで生じるエラーをど...
-
javaのジェネリックスでTとEの...
-
javaでの#if 0 #endif文
-
データベースの形式を認識でき...
-
正規表現について質問です。 カ...
-
ダブルコロンとアロー演算子
-
Pure Javaとは?
-
誕生日パラドックス
-
javaの堅牢性とは
-
while文を使ってのアプリケーシ...
-
Javascriptで出来ること
-
java と javaScript の違いはな...
-
サーブレットとPHPの違い
-
ラダーとjavascriptを勉強した...
-
java初心者なのですが、論理演...
-
正規表現で特定の単語を除外したい
-
C, C#, C++, Javaに関していく...
-
JAVAの特徴
-
VScodeのターミナルの文字化け...
おすすめ情報
ありがとうございます!
java se8です!
何度も申し訳ありません。
3桁ごとにカンマで区切られた整数字でした…。
また、正規表現について色々と調べたのですが、いまいち理解できず、自分で正規表現を考えるにあたって、どのように組み立てたら良いのかなど、なにか、アドバイスを頂けませんでしょうか。