Java の正規表現での空白

Rupam Yadav 2023年10月12日
Java の正規表現での空白

正規表現は、文字列内の特定の文字を検索するために使用できる検索パターンを作成する特殊文字の組み合わせです。次の例では、さまざまな正規表現文字を使用して文字列内の空白を検索する方法を示します。

Java で正規表現を使用して空白を検索する

正規表現検索パターンを使用して、指定された文字列が正規表現と一致するかどうかを確認するには、クラス Pattern の静的メソッド matches() を使用します。メソッド matches() は 2つの引数を取ります。1つ目は正規表現で、2つ目は照合する文字列です。

空白を見つけるための最も一般的な正規表現文字は、\s\s+ です。これらの正規表現文字の違いは、\s が単一の空白文字を表すのに対し、\s+ は文字列内の複数の空白を表すことです。

以下のプログラムでは、Pattern.matches() を使用して、正規表現\s+ を使用して空白をチェックし、次に 3つの空白を含む文字列をチェックします。次に、true を出力する whitespaceMatcher1 を出力します。これは、パターンが一致して空白を見つけることを意味します。

whitespaceMatcher2 では、文字\s を使用して、文字列" "に対して true を返す単一の空白を識別します。正規表現では大文字と小文字が区別され、\S\s とは異なることに注意してください。

次に、\s と同等の正規表現 [\\t\\p{Zs}] を使用し、単一の空白に対して true を返します。

\u0020 はスペースを表す Unicode 文字であり、単一の空白を含む文字列が渡されると true を返します。

また、最後の正規表現\p{Zs} は、空白を識別する空白区切り文字でもあります。

import java.util.regex.Pattern;

public class RegWhiteSpace {
  public static void main(String[] args) {
    boolean whitespaceMatcher1 = Pattern.matches("\\s+", "   ");
    boolean whitespaceMatcher2 = Pattern.matches("\\s", " ");
    boolean whitespaceMatcher3 = Pattern.matches("[\\t\\p{Zs}]", " ");
    boolean whitespaceMatcher4 = Pattern.matches("\\u0020", " ");
    boolean whitespaceMatcher5 = Pattern.matches("\\p{Zs}", " ");

    System.out.println("\\s+ ----------> " + whitespaceMatcher1);
    System.out.println("\\s -----------> " + whitespaceMatcher2);
    System.out.println("[\\t\\p{Zs}] --> " + whitespaceMatcher3);
    System.out.println("\\u0020 ------->" + whitespaceMatcher4);
    System.out.println("\\p{Zs} ------->" + whitespaceMatcher5);
  }
}

出力:

\s+ ----------> true
\s -----------> true
[\t\p{Zs}] --> true
\u0020 ------->true
\p{Zs} ------->true
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Regex

関連記事 - Java Regex