検索
ホームページJava&#&チュートリアルJava で一般的に使用される正規表現構文と使用上のヒント

Java で一般的に使用される正規表現構文と使用上のヒント

Java 正規表現の一般的な文法と使用スキル

はじめに:
正規表現 (正規表現) は、文字列に対して簡単に使用できる強力なテキスト マッチング ツールです。検索、置換、検証。 Java の正規表現は、java.util.regex パッケージでサポートされています。この記事では、Java 正規表現の一般的な構文と使用テクニックを紹介し、具体的なコード例を示します。

  1. 共通構文
    1.1 文字クラス
    文字クラス (文字クラス) は、指定された文字グループの一致を表します。
  2. 文字クラスを表すには [] を使用します。たとえば、文字 a、b、c のいずれかと一致する [abc] などです。
  3. [^] を使用して否定します。たとえば、1 は、文字 a、b、c を除く任意の文字と一致することを意味します。
  4. - を使用して範囲を指定します ([a-z] など)。a から z までの小文字に一致します。

1.2 事前定義された文字クラス
事前定義された文字クラスは、一般的に使用されるいくつかの文字クラスの略称です。

  • d は、[0-9] に相当する任意の数値と一致することを意味します。
  • D は、数字以外の任意の文字と一致することを意味します。これは、2 と同等です。
  • w は、[a-zA-Z_0-9] に相当する任意の文字、数字、またはアンダースコアと一致することを意味します。
  • W は、文字、数字、アンダースコアを除く任意の文字と一致することを意味し、3 と同等です。
  • s は、スペース、タブ、改行などを含む任意の空白文字と一致することを意味します。
  • S は、空白文字を除く任意の文字と一致することを意味します。

1.3 修飾子
修飾子 (数量子) は、一致する文字の数を指定するために使用されます。

    • は、0 個以上の文字と一致することを意味します。
    • # は 1 つ以上の文字と一致することを意味します。
  • ? は、0 または 1 文字と一致することを意味します。
  • {n} は、n 個の文字に正確に一致することを意味します。たとえば、d{3} は、3 つの数字に正確に一致することを意味します。
  • {n,} は、少なくとも n 文字と一致することを意味します。
  • {n,m} は、n から m 個の文字に一致することを意味します。

1.4 エスケープ文字
エスケープ文字は、正規表現の特殊文字に使用されます。

  • ドット文字と一致させるには、. などの次の文字をエスケープします。
  • \ はスラッシュ文字と一致することを意味します。
  • はタブ文字の一致を意味します。
  • は改行文字の一致を意味します。
  • は、復帰文字と一致することを意味します。
  1. 使用上のヒント
    2.1 一致の検索
    Matcher クラスの find メソッドを使用して、一致を検索します。

    Pattern pattern = Pattern.compile("a.b");
    Matcher matcher = pattern.matcher("acb");
    if (matcher.find()) {
     System.out.println("找到匹配");
    } else {
     System.out.println("未找到匹配");
    }

2.2 一致の抽出
Matcher クラスのグループ メソッドを使用して、一致を抽出します。

Pattern pattern = Pattern.compile("\d+");
Matcher matcher = pattern.matcher("abc123def");
if (matcher.find()) {
    String match = matcher.group();
    System.out.println("提取到的匹配项为:" + match);
}

2.3 置換一致
String クラスの replaceAll メソッドを使用して、一致する項目を置換します。

String str = "abc123def";
str = str.replaceAll("\d+", "数字");
System.out.println("替换后的字符串为:" + str);

2.4 入力の確認
String クラスのmatchesメソッドを使用して、入力が指定された正規表現と一致するかどうかを確認します。

String input = "abc123";
if (input.matches("[a-z]+\d+")) {
    System.out.println("输入合法");
} else {
    System.out.println("输入非法");
}

結論:
この記事では、Java 正規表現の一般的な構文と使用法を紹介し、具体的なコード例を示します。正規表現の基本的な構文と使用スキルを学習して習得することで、文字列の検索、置換、検証をより効率的に行うことができます。この記事があなたの学習に役立つことを願っています。


  1. abc
  2. 0-9
  3. a-zA-Z_0-9
  4. #

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン