人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!JavaのStreamAPIをさらに学びたい方へ
JavaのStreamAPIを理解して頂くために参考書を執筆致しました!
StreamAPIの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
JavaでChatGPTAPIを使ってブログ作成を自動化しませんか?
はじめに:正規表現Patternクラスとは?
Javaにおいて、文字列のパターンマッチングを行う際に不可欠なのが、正規表現Patternクラスです。
この記事では、Patternクラスの主要メソッドを取り上げ、具体的なコード例とともにその使用方法を詳しく解説します。さあ、文字列操作を一緒に学びましょう!

Javaの正規表現についてコチラ
-
-
【Java】javaで正規表現(Patternクラス)について学ぼう!!パターンマッチングを一気に学ぶ!
この記事はChatGPTで画像の挿入、ソースコードの形式も含めて 90%~100%作成されています。作り方は画像をクリック! 人生が変わるオンラインサロン! 月3万副業収入が得られる!Mサロン!31日 ...
続きを見る
quoteメソッド
まず初めに、quote(String s)
メソッドです。
このメソッドは、特殊文字を含む文字列を正規表現のクエリとして使いたい場合に、その文字列をリテラルパターン文字列として扱うために使用します。つまり、このメソッドを使うと、正規表現の特殊文字をエスケープせずにそのままパターン文字列として使用できるのです。

step
1quoteメソッドの使用例
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import java.util.regex.Pattern; public class Program { public static void main(String[] args) { // 特殊文字を含む文字列 String specialString = ".*"; // quoteメソッドを使ってリテラルパターン文字列を生成 String patternString = Pattern.quote(specialString); System.out.println("パターン文字列: " + patternString); } } |
出力結果
パターン文字列: \Q.*\E
ここで、\Q
と\E
は、その間の文字列をリテラル文字列(特殊文字をエスケープした文字列)として扱うための正規表現の構文です。
このように、quote
メソッドを使用すると、正規表現のパターンとして特殊文字を含む文字列を安全に扱うことができます。

ポイント
特殊文字を正規表現のパターンとしてそのまま使いたい場合には、quote
メソッドが非常に便利です!
patternメソッドの深遠なる真実
次に、pattern()
メソッドです。
このメソッドは、現在のPatternオブジェクトがどの正規表現パターンを表しているのかを示す文字列を返します。つまり、元の正規表現パターン文字列を取得するために使用されるのです。

step
2patternメソッドの使用例
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.regex.Pattern; public class Program { public static void main(String[] args) { // パターン文字列を定義 String regex = "a*b"; // Patternオブジェクトを生成 Pattern pattern = Pattern.compile(regex); // patternメソッドを使って元の正規表現パターン文字列を取得 String originalPattern = pattern.pattern(); System.out.println("元の正規表現パターン: " + originalPattern); } } |
出力結果
元の正規表現パターン: a*b
このコード例では、pattern()
メソッドを使用して、元の正規表現パターン文字列を正確に取得しています。
これにより、後でパターンを参照したり、デバッグ時に内部で使用されている正規表現パターンを理解するのに役立ちます。

ポイント
正規表現パターンを後から参照したいときや、デバッグの際には、pattern()
メソッドが大変有用です。
matchesメソッドでパターンマッチングを体験しよう!
最後に、matches(String regex, CharSequence input)
メソッドです。
この静的メソッドは、指定された文字列が正規表現パターンに一致するかどうかをチェックするために使用されます。もし一致するならtrue
を、一致しないならfalse
を返します。

step
3matchesメソッドの使用例
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.regex.Pattern; public class Program { public static to="main(String[] args) { // テストする文字列 String input = "aaaaab"; // 正規表現パターン String regex = "a*b"; // matchesメソッドを使ってパターンマッチングを行う boolean isMatch = Pattern.matches(regex, input); System.out.println("パターンマッチングの結果: " + (isMatch ? "一致しました!" : "一致しませんでした。")); } } |
出力結果
パターンマッチングの結果: 一致しました!
この方法を使えば、特定の正規表現パターンに文字列が一致するかどうかを簡単にチェックできます。コードがシンプルで理解しやすく、正規表現のパワーを最大限に引き出すことができるのです。

ポイント
matches
メソッドは、簡単かつ迅速にパターンマッチングを行うための強力なツールです。
splitメソッドで文字列を巧みに分割!
split(CharSequence input)
メソッドとsplit(CharSequence input, int limit)
メソッドは、文字列を特定のデリミタ(区切り文字)で分割する際に使用されます。これらのメソッドは、指定されたパターンに一致する部分を基にして、入力された文字列を複数のトークンに分割します。

step
4splitメソッドの使用例
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.regex.Pattern; public class Program { public static void main(String[] args) { // 分割する文字列 String input = "りんご,ばなな,みかん"; // 正規表現パターン(カンマで分割) String regex = ","; // Patternオブジェクトを生成 Pattern pattern = Pattern.compile(regex); // splitメソッドを使って文字列を分割する String[] fruits = pattern.split(input); System.out.println("分割された文字列:"); for (String fruit : fruits) { System.out.println(fruit); } // limitを指定してsplitメソッドを使う例 int limit = 2; String[] limitedFruits = pattern.split(input, limit); System.out.println("\nlimitを指定して分割された文字列:"); for (String fruit : limitedFruits) { System.out.println(fruit); } } } |
出力結果
分割された文字列: りんご ばなな みかん limitを指定して分割された文字列: りんご ばなな,みかん
split(CharSequence input)
メソッドは入力文字列をパターンに従って分割し、split(CharSequence input, int limit)
メソッドは、分割される要素の最大数(limit)を指定することができます。limitを指定すると、その数だけ要素を分割し、残りの文字列は最後の要素としてまとめられます。

ポイント
split
メソッドは、特定のパターンに基づいて文字列を分割する際に非常に役立ちます。また、limit
パラメータを使うことで、分割の仕方をさらに細かく制御することが可能です。
まとめ
この記事では、Javaの正規表現Patternクラスの基本的なメソッドをいくつか紹介し、その使い方とコード例を通じて解説しました。
これらのメソッドを使いこなすことで、文字列の検索、抽出、置換など、さまざまな文字列操作を効率的かつ正確に行うことができます。
正規表現は非常に強力で、学ぶほどにその深みに魅了されるでしょう。Javaの世界でのこれらの知識をぜひ活用してください!
人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!JavaのStreamAPIをさらに学びたい方へ
JavaのStreamAPIを理解して頂くために参考書を執筆致しました!
StreamAPIの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
JavaでChatGPTAPIを使ってブログ作成を自動化しませんか?