Javaの正規表現で単語をマッチングするには?
Javaで正規表現を使用して単語を照合するには、次の手順に従います。
- 単語とマッチさせる正規表現パターンを作成する。例えば、1 つ以上の英数字の単語とマッチさせるには、\b\w+\b を使用できる。
- Java の Pattern クラスを使用して、正規表現をパターンオブジェクトとしてコンパイルします。たとえば、次のコードを使用してパターンオブジェクトを作成します。
Pattern pattern = Pattern.compile("\\b\\w+\\b");
- 入力テキスト内の単語のマッチングに使用できるMatcherオブジェクトを作成するには、パターンオブジェクトを使用します。たとえば、Matcherオブジェクトを作成するには、次のコードを使用できます。
Matcher matcher = pattern.matcher(inputText);
検索するテキストはinputTextです。
- 見つける
while (matcher.find()) {
String word = matcher.group();
System.out.println(word);
}
ループ内では、matcher.group()メソッドで現在マッチした単語を取得します。
サンプルコードの完全版は以下のとおりです。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String inputText = "Hello, world! This is a sample text.";
Pattern pattern = Pattern.compile("\\b\\w+\\b");
Matcher matcher = pattern.matcher(inputText);
while (matcher.find()) {
String word = matcher.group();
System.out.println(word);
}
}
}
上記のコードを実行すると、次の結果が出力されます。
Hello
world
This
is
a
sample
text