【PHP8.x】mb_ereg_search_regs関数の使い方

作成日: 更新日:

mb_ereg_search_regs関数は、マルチバイト文字列に対して正規表現検索を行い、一致した部分文字列の情報を配列として取得する関数です。この関数は、事前にmb_ereg_search_init()関数によって設定された検索対象文字列と、mb_ereg_search_set_pattern()またはmb_ereg_search_init()で設定された正規表現パターンに基づいて検索を実行します。

検索が成功した場合、見つかった文字列全体、および正規表現パターン内で括弧 () で囲んで指定された部分(サブマッチ)を要素とする配列を返します。これにより、ただ一致したかどうかだけでなく、具体的にどの部分がどのような形で一致したかを詳細に抽出することが可能です。特に日本語や中国語などのマルチバイト文字を含む文字列に対して、正確な正規表現マッチングを行いたい場合に非常に有用です。

検索に失敗した場合や、一致する部分が見つからなかった場合は、falseを返します。この関数は、mb_ereg_search()関数と組み合わせて使用することで、検索対象文字列中の複数の一致箇所を順次見つけて処理するような、高度なテキスト解析やデータ抽出のシナリオで活用されます。システム開発において、特定の書式に則ったデータから必要な情報を正確に抽出し、利用する際に重要な役割を果たします。

基本的な使い方

構文(syntax)

<?php
// 事前に検索対象の文字列と正規表現パターンを設定
mb_ereg_search_init("吾輩は猫である", "猫");

// 直前の検索でマッチした部分文字列を配列として取得する
// マッチしなかった場合は false を返す
$result = mb_ereg_search_regs();
?>

引数(parameters)

?string $pattern = null, ?string $options = null

  • ?string $pattern = null: 検索パターンを指定する文字列。null の場合は、直前に mb_ereg_search_init() で設定されたパターンが使用されます。
  • ?string $options = null: 検索オプションを指定する文字列。null の場合は、直前に mb_ereg_search_init() で設定されたオプションが使用されます。

戻り値(return)

array|false

正規表現検索でマッチした部分文字列の配列、またはマッチしなかった場合は false を返します。

【PHP8.x】mb_ereg_search_regs関数の使い方 | いっしー@Webエンジニア