ホームページ  >  記事  >  Java  >  Java 正規表現構文の詳細

Java 正規表現構文の詳細

PHPz
PHPzオリジナル
2024-01-09 21:33:44625ブラウズ

Java 正規表現構文の詳細

Java 正規表現構文の詳細な分析には、特定のコード例が必要です

正規表現は、さまざまなプログラミング言語で使用される強力なパターン マッチング ツールです。使用済み。 Java では、java.util.regex パッケージによって提供されるクラスを使用して、正規表現関数を実装できます。この記事では、Java 正規表現の構文を詳しく説明し、具体的なコード例で説明します。

1. 基本構文

  1. 文字の一致
    正規表現では、同じ文字と一致させるために通常の文字を使用できます。たとえば、正規表現「hello」を使用して文字列「hello」と一致させることはできますが、「heLlo」や「Hello」などとは一致させることはできません。
  2. 文字クラス
    文字クラスは角括弧 [] で表され、一連の文字のいずれかと一致するために使用されます。たとえば、正規表現「[abc]」を使用して、文字列内の任意の文字「a」、「b」、または「c」と一致させることができます。
  3. エスケープ文字
    バックスラッシュを使用して特殊文字をエスケープし、通常の文字と一致できるようにします。たとえば、正規表現「.」を使用して文字列の小数点を照合できます。
  4. 繰り返しの数
    中括弧 {} を使用して繰り返しの数を指定できます。たとえば、正規表現「a{2,4}」は、文字列内の 2 ~ 4 個の連続する文字「a」の出現と一致します。
  5. 境界一致
    文字列の先頭を示すには「^」を使用し、文字列の末尾を示すには「$」を使用します。たとえば、正規表現「^hello$」を使用すると、文字列が「hello」と正確に一致することが保証されます。

2. 一般的な文字クラス

  1. Number
    任意の数字と一致するには「d」を使用します。たとえば、正規表現「d{3}」は、任意の 3 つの連続する数字と一致します。
  2. 文字
    任意のアルファベット文字と一致するには「w」を使用します。たとえば、正規表現「w」は、連続する任意のアルファベット文字と一致します。
  3. 空白文字
    スペース、タブ、改行などの空白文字と一致するには、「s」を使用します。たとえば、正規表現「s」は、連続する空白文字と一致します。
  4. 指定された文字以外の文字
    指定された文字以外の任意の文字と一致するには、「[^]」を使用します。たとえば、正規表現「1」は、「a」、「b」、および「c」を除く任意の文字と一致します。

3. 分析例

以下では、いくつかの例を使用して Java 正規表現の構文をさらに分析します。

  1. 電子メール アドレスの照合
    正規表現を使用して、正当な電子メール アドレスを照合できます。たとえば、正規表現「^w @w .w $」は、「abc@163.com」または「x.y.z@gmail.com」形式の電子メール アドレスと一致します。
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {
    private static final String EMAIL_REGEX = "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";

    public static boolean validateEmail(String email) {
        Pattern pattern = Pattern.compile(EMAIL_REGEX);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String[] emails = {"abc@163.com", "xyz@gmail.com", "invalidemail", "123456"};

        for (String email : emails) {
            System.out.println(email + ": " + validateEmail(email));
        }
    }
}
  1. URL 情報の抽出
    正規表現を使用して、URL 内のプロトコル、ホスト名、パス情報を抽出できます。たとえば、正規表現「^(https?)://([w-] .) [w-] (/[w-./?%&=]*)?$」は形式「http:」と一致します。 / /www.example.com/path/to/page.html」。
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class URLParser {
    private static final String URL_REGEX = "^(https?)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$";

    public static void parseURL(String url) {
        Pattern pattern = Pattern.compile(URL_REGEX);
        Matcher matcher = pattern.matcher(url);
        if (matcher.matches()) {
            System.out.println("Protocol: " + matcher.group(1));
            System.out.println("Hostname: " + matcher.group(2));
            System.out.println("Path: " + matcher.group(3));
        } else {
            System.out.println("Invalid URL format");
        }
    }

    public static void main(String[] args) {
        String[] urls = {"http://www.example.com/path/to/page.html", "https://www.example.com/", "invalidurl"};

        for (String url : urls) {
            System.out.println("URL: " + url);
            parseURL(url);
            System.out.println();
        }
    }
}

上記のコード例は、正規表現を使用して電子メール アドレスを検証し、URL から情報を抽出する方法を示しています。 Java 正規表現構文の詳細な分析と特定のコード例を組み合わせることで、読者は Java 正規表現の使用についてより深く理解できると思います。この記事がお役に立てば幸いです。


  1. abc

以上がJava 正規表現構文の詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。