ホームページ バックエンド開発 PHPチュートリアル PHP 正規表現: 文字列から複数の文字の繰り返しを抽出する方法

PHP 正規表現: 文字列から複数の文字の繰り返しを抽出する方法

Jun 22, 2023 pm 06:04 PM
php 正規表現 文字列抽出

PHP 正規表現: 文字列から複数の文字の繰り返し数を抽出する方法

PHP では、正規表現は、文字の一致、検索、置換に使用できる非常に強力なツールです。機能。正規表現の基本構文は非常に単純ですが、実際のアプリケーションでは、多くの場合、その高度な使用法を深く理解する必要があります。その中で、文字列から複数の文字の繰り返しを抽出することは一般的な要件です。

たとえば、文字列から連続して繰り返される文字の数を調べる必要があります。たとえば、文字列「aaabbbcccdddeeefff」では、繰り返し文字「a」が 3 回現れ、繰り返し文字「b」が 3 回現れます。 、繰り返し文字「c」が 3 回、繰り返し文字「d」が 3 回、繰り返し文字「e」が 3 回、繰り返し文字「f」が 3 回現れます。

PHP の正規表現を使用してこの機能を実現する簡単で効率的な方法を紹介します。

まず第一に、preg_match_all 関数を使用して、繰り返されるすべての文字と一致させることができます。例:

$string = "aaabbbcccdddeeefff";
preg_match_all('/(.)+/', $string, $matches);
print_r($matches[0]);
ログイン後にコピー

上記のコードでは、preg_match_all 関数を使用します。文字列内の指定された正規表現 式が一致する部分文字列、および一致結果は $matches 配列に格納されます。このうち、正規表現「/(.) /」は、連続する繰り返し文字の一致に使用され、繰り返し文字に一致する最初の文字がグループとして使用されます。「 」は最初のグループの内容を表し、「 」は一致を表します。少なくとも 1 文字。

上記のコードを実行すると、出力結果は次のようになります:

Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
    [3] => ddd
    [4] => eee
    [5] => fff
)
ログイン後にコピー

すべての連続して繰り返される文字が $matches[0] 配列に格納されていることがわかります。次に、$matches[0] 配列を反復処理し、strlen 関数を使用して各部分文字列の長さを取得し、各文字の繰り返し数を取得します。具体的なコードは次のとおりです。

$string = "aaabbbcccdddeeefff";
preg_match_all('/(.)+/', $string, $matches);

foreach ($matches[0] as $match) {
    $char = $match[0];
    $count = strlen($match);
    echo "字符 $char 出现了 $count 次
";
}
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります。

字符 a 出现了 3 次
字符 b 出现了 3 次
字符 c 出现了 3 次
字符 d 出现了 3 次
字符 e 出现了 3 次
字符 f 出现了 3 次
ログイン後にコピー

この時点で、複数の繰り返し回数を抽出する操作は完了です。文字列からの文字。この方法はシンプルかつ効率的で、ほとんどの状況に適用できるため、誰もが実際の開発の効率を向上させるのに役立ちます。

もちろん、正規表現の応用はこれらをはるかに超えています。実際の開発では、グループ化、文字セット、数量指定子などのより複雑な正規表現を使用して、より柔軟で強力な文字列処理関数を実現することもできます。正規表現の高度な使い方に慣れていない方は、ぜひ学んでみると開発に役立つと思います。

以上がPHP 正規表現: 文字列から複数の文字の繰り返しを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

See all articles