正規表現による文字列マッチング(Java を使用)
- Javaのページ
- Javaプログラミング用語集のページ
【関連情報】
Java 25(Temurin 25 JDK) のインストール
Eclipse Temurin(Adoptium)のインストールを行い、Javaのプログラムをコンパイル・実行する環境を整える。扱う環境は、Windows搭載パソコンである。現時点(2026年6月)での最新LTS版である Java 25(Temurin 25 JDK)を推奨する。
[Windows での Java 25(Temurin 25 JDK) のインストール手順を見るには、ここをクリック]
Windows での Java 25(Temurin 25 JDK) のインストール
以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。
方法 1:winget によるインストール
【インストールコマンドの実行方法】
管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。
Temurin の Windows インストーラー(.msi)は、ユーザー単位ではなくマシン単位でインストールされる(1台に1つのインストール)。そのため、システム全体(全ユーザー向け)にインストールするには管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。
REM Java 25(Temurin 25 JDK) をインストール(PATH と JAVA_HOME を更新)
winget install --id EclipseAdoptium.Temurin.25.JDK -e --silent --accept-source-agreements --accept-package-agreements --override "ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome INSTALLDIR=\"C:\Program Files\Eclipse Adoptium\jdk-25\" /quiet"
上記の --override 内の指定の意味は次のとおりである。FeatureEnvironment はPATH環境変数の更新、FeatureJavaHome は JAVA_HOME 環境変数の更新、FeatureJarFileRunWith は .jar ファイルとJavaアプリケーションの関連付けである。INSTALLDIR はインストール先フォルダの指定である。
方法 2:インストーラーによるインストール
- Adoptium公式サイト(https://adoptium.net/temurin/releases/)にアクセスし、Version として「25 - LTS」、Operating System として「Windows」を選び、
.msi形式のWindows用インストーラーをダウンロードする。 - ダウンロードした
.msiファイルを実行し、インストールプログラムを起動する。 - ライセンス条項を確認し、同意できる場合はチェックを入れて次へ進む。
- 「Installation Scope」画面では「Install for all users of this machine」を選ぶ
- 「Custom Setup(カスタムセットアップ)」画面で、インストールする機能を選択する。既定では「Add to PATH(PATH環境変数への追加)」と「Associate .jar」(.jarファイルの関連付け)が有効になっている。さらに、ツリー内でバツ印(×)が付いている「Set JAVA_HOME variable(JAVA_HOME環境変数の更新)」をクリックして有効に変更することを推奨する。これらを有効にしないと、コマンドプロンプトから
javaコマンドを実行できなかったり、開発ツールがJDKを見つけられなかったりする。 - 「次へ (Next)」をクリックし、続いて「インストール (Install)」をクリックしてインストールを開始する。完了後「Finish」で閉じる。
インストールの確認
コマンドプロンプトで以下を実行する。
java --version
バージョン番号(例:openjdk 25.x.x)が表示されればインストール成功である。「'java' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していないか、PATHが反映されていない(コマンドプロンプトを再起動して再度確認する)。
あわせて、コンパイラと JAVA_HOME も確認しておくとよい。
javac --version
echo %JAVA_HOME%
Eclipse のインストール
Eclipse をインストールする。扱う環境は、Windows搭載パソコンである。
Windows での Eclipse のインストール 以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。 方法 1:winget によるインストール 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → winget が使えない場合や,インストール先・パッケージ種類を画面で選びながら導入したい場合は,次の方法を用いる。 方法 2:インストーラーによるインストール 公式サイトからダウンロードしてインストールできる。詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。 Eclipse の初期設定、使用方法の基本 詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。[Windows での Eclipse のインストール手順を見るには、ここをクリック]
cmd と入力 → 右クリック → 「管理者として実行」)。そして,コマンド全体をコマンドプロンプトにコピー&ペーストする。REM Temurin 25 JDK をインストール
winget install --id EclipseAdoptium.Temurin.25.JDK -e --accept-source-agreements --accept-package-agreements
ポケットベルのキー入力(2桁の数字で1つの文字を生成)を再現
このプログラムでは,「0から9(半角数字)以外の文字が含まれているかどうか」を,正規表現を使って確認することを行う.
参考ページ:http://www.macco.co.jp/~ktaimail/pocket/ で公開された記事を参考にしました.
test.com.PBEntryを実行すると、標準入力を受け付けます。 この状態で偶数個(0個は不可)の数字を入力すると、 上記URLの割当表に従って文字列が生成され、標準出力に表示されます。
PBMap.java
import java.util.regex.*;
/* ポケベル入力方式と仮名の対応をさせるメソッド */
public class PBMap {
int ConsonantCode; //子音
int VocalCode; //母音
//ポケベル入力方式の文字マップ
String Kana[] =
{"あいうえおABCDE",
"かきくけこFGHIJ",
"さしすせそKLMNO",
"たちつてとPQRST",
"なにぬねのUVWXY",
"はひふへほZ?!−/",
"まみむめも¥& ",
"や(ゆ)よ*# ",
"らりるれろ12345",
"わをん゛゜67890" };
// 番号からマップに指定された文字を呼び出すメソッド
public char mapping(int CC, int VC){
return Kana[CC].charAt(VC);
}
// 入力された数字を解釈し、mappingメソッドを使って、文字列を生成するメソッド
public StringBuffer checkMap(String EntryNo){
StringBuffer strPB = new StringBuffer();
//文字列の長さが偶数であるか確認
if(EntryNo.length()==0 || EntryNo.length()%2 == 1){
return new StringBuffer("2文字以上で偶数長の文字列を与えて下さい");
}
// 数字以外が含まれていないか、正規表現を用いて確認
Pattern pattern = Pattern.compile("[0-9]+");
Matcher matcher = pattern.matcher(EntryNo);
if(matcher.matches()==false){//patternにマッチしない
return new StringBuffer("数字以外が含まれています");
}
// 2つの数字で1つの文字が決定されるので、2文字ずつ処理する
for(int i=0;i < EntryNo.length();i=i+2){
//charを数字に変換
int CC = Character.digit(EntryNo.charAt(i),10);
int VC = Character.digit(EntryNo.charAt(i+1),10);
//配列の添え字と、マップのインデクスとの調整
if(CC==0) CC = 9;
else CC--;
if(VC==0) VC = 9;
else VC--;
strPB.append(mapping(CC,VC)); //文字列への追加
}
return strPB;
}
}
PBEntry.java
import java.io.*;
public class PBEntry {
public static void main(String[] args) throws Exception {
PBMap Map1 = new PBMap();
// 標準入力の準備(クラス作成)
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("入力:");
//入力された1行をStringに
String input = new String(in.readLine());
String Output = Map1.checkMap(input).toString();
System.out.println("出力:"+Output);
}
}
【Windows での実行】
Windows で,ファイル PBMap.java, PBEntry を編集し実行するために,次のコマンドを, コマンドプロンプトで実行する.
cd %LOCALAPPDATA%
notepad PBMap.java
notepad PBEntry.java
javac -encoding UTF-8 PBMap.java
javac -encoding UTF-8 PBEntry.java
java PBEntry