最近プロジェクトで正規表現がよく使われるようになりました
今日は、正規表現に関する関連知識を皆さんと共有するためにブログ記事を書きます。
正規表現とは何ですか?
正規表現は、文字列の記述、照合、操作を行うための強力なツールです。入力文字列の検証、特定の形式での文字列の抽出、文字列の特定部分の置換、その他の操作に使用できます。
正規表現の基本構文
Java では、java.util.regex
正規表現を操作するためにパッケージによって提供されるクラスを使用します。一般的に使用される正規表現構文の一部を次に示します。
.
: 任意の 1 文字 (改行を除く) と一致します。[]
: 文字セットを定義し、文字セット内の任意の文字と一致します。[^]
: 逆文字セットを定義し、文字セット内の文字以外の文字と一致します。*
: 前の要素と 0 回以上一致します。+
: 前の要素と 1 回以上一致します。?
: 前の要素と 0 回または 1 回一致します。{n}
: 前の要素と正確に n 回一致します。{n,}
: 前の要素と少なくとも n 回一致します。{n,m}
: 前の要素と少なくとも n 回、最大で m 回一致します。()
: 部分式を定義します。通常、演算子の範囲と優先順位を制限するために使用されます。|
: 2 つ以上の式の 1 つと一致します。
正規表現構文の詳細については、Java の公式ドキュメントを参照してください。
Java での正規表現の使用
Java には、正規表現を使用するためのPattern
2 つのクラスが用意されています。Matcher
簡単なコード例を次に示します。
import java.util.regex.*;
public class RegexDemo {
public static void main(String[] args) {
String input = "Hello, 123456!";
String pattern = "\\d+";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(input);
while (m.find()) {
System.out.println("匹配到的数字:" + m.group());
}
}
}
コード分析:
input
まず、入力文字列と正規表現パターンが定義されますpattern
。Pattern.compile()
メソッドを使用して、正規表現をPattern
オブジェクトにコンパイルします。p.matcher(input)
メソッドを使用して、Matcher
マッチング用のオブジェクトを作成します。m.find()
メソッド ループを使用して、正規表現に一致する入力文字列の部分を検索します。- メソッドを使用して
m.group()
、一致した部分を取得します。
上記の例では、正規表現は\\d+
1 つ以上の数値と一致することを意味します。上記のコードを実行すると、出力結果は次のようになります。
匹配到的数字:123456
要約する
このブログでは、Java の正規表現の基本的な構文と使用法を紹介し、簡単なサンプル コードを添付します。この記事を読んで、皆さんが Java 正規表現について一定の理解を深めていただければ幸いです。