ホームページ > Java > &#&チュートリアル > 正規表現を使用して、大きな文字列から一重引用符で囲まれた文字列を抽出する Java プログラム

正規表現を使用して、大きな文字列から一重引用符で囲まれた文字列を抽出する Java プログラム

PHPz
リリース: 2023-09-16 16:41:02
転載
1056 人が閲覧しました

正規表現を使用して、大きな文字列から一重引用符で囲まれた文字列を抽出する Java プログラム

正規表現または正規表現は、パターン マッチングと文字列操作に使用される言語です。これは検索パターンを定義する一連の文字で構成されており、検索、置換、さらにはテキスト入力の検証などの操作を実行するために使用できます。正規表現は、検索パターンを形成する一連の文字と記号で構成されます。

この記事では、正規表現を使用して大きな文字列から一重引用符で囲まれた文字列を抽出する Java プログラムを作成する方法を学びます。

Java は、java.util.regex パッケージを通じて正規表現のサポートを提供します。パターン クラスはコンパイルされた正規表現を表しますが、マッチャー クラスは特定の入力文字列とパターンを照合するために使用できます。

一重引用符で囲まれた単一の部分文字列

次の例では、まず入力文字列と照合する正規表現パターンを定義します。パターン「(_ ?)」は、一重引用符と _*? 部分で囲まれた任意の文字シーケンスと一致します。任意の文字と 0 回以上一致しますが、残りのパターンが一致するようにできるだけ少ない回数で一致させます。

次に、パターンに基づいて Matcher オブジェクトを作成し、find メソッドを使用して入力文字列に適用します。パターンが一致する場合は、パターン内の最初のキャプチャ グループを表すパラメータ 1 を指定した group() メソッドを使用して、一致する文字列を抽出します。この方法の欠点は、一重引用符で囲まれたすべての部分文字列グループを取得できないことです。

###例### リーリー ###出力### リーリー

一重引用符で囲まれた複数の部分文字列

上記の方法には大きな欠点があります。つまり、入力文字列から複数の一重引用符の部分文字列を抽出するには単純すぎて、最初に出現したものしか抽出されないということです。これは、複数のイベントを抽出できるため、以前のメソッドの更新された高度なバージョンです。 while ループを使用して繰り返し、入力文字列に一致がなくなるまで一致の検索を続けます。一致のリストは、抽出されたすべての文字列を保存するために使用され、このメソッドによって返されます。 main メソッドは、更新された extractStringsWithRegex() メソッドを使用してすべての一重引用符で囲まれた文字列を抽出する方法を示します。

###例### リーリー ###出力### リーリー

次に示すように、正規表現を使用して大きな文字列から一重引用符で囲まれた文字列を抽出する Java プログラムには、いくつかの利点と欠点があります。

###アドバンテージ###

正規表現は非常に強力で、一重引用符で囲まれた文字列やさらに複雑なパターンと一致します。

Matcher クラスは、一致の開始インデックスと終了インデックスの検索など、一致する文字列を処理するための追加メソッドを提供します。

    欠点
  • 正規表現は、他の方法に比べて、作成するのも理解するのも難しい場合があります。
  • 正規表現は、特に大きな入力文字列や複雑なパターンの場合、他の方法よりも遅くなる可能性があります。

###結論は###
    一重引用符で囲まれた文字列を抽出する方法はいくつかありますが、最も一般的な方法は、正規表現、split() および substring() メソッドを使用する方法です。正規表現は複雑なパターンを処理できるため、強力かつ柔軟なオプションですが、非常に大きな文字列では非常に時間がかかる可能性があります。正規表現を使用する場合、Pattern クラスを使用してパターンを表現し、Matcher クラスを使用してパターンを入力文字列に適用し、一致するテキストを抽出します。正規表現には、ユーザー入力データの検証からテキストの操作まで、さまざまな使用例があります。正規表現を扱うときは常に、パターンを慎重に設計およびテストして、パターンが必要なテキストと一致し、考えられるすべてのエッジ ケースを適切に処理できることを確認することが重要です。

以上が正規表現を使用して、大きな文字列から一重引用符で囲まれた文字列を抽出する Java プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート