TECH I.S.

PHP preg_match()関数

❮ PHP 正規表現リファレンス

正規表現を使用して、大文字と小文字を区別せずに文字列内の「techis」を検索します。

<?php $str = "Visit W3Schools"; $pattern = "/w3schools/i"; echo preg_match($pattern, $str); ?>


定義と使用法

preg_match()関数は、文字列で一致が見つかったかどうかを返します。

構文

<div>preg_match(<em>pattern, input, matches, flags, offset</em>)</div>

パラメータ値
パラメータ 説明
pattern Required 何を検索するかを示す正規表現が含まれています
input Required 検索が実行される文字列
match Optional このパラメーターで使用される変数には、見つかったすべての一致を含む配列が入力されます
flags Optional 一致する配列の構造を変更する一連のオプション
  • PREG_OFFSET_CAPTURE- このオプションを有効にすると、各マッチは文字列ではなく、最初の要素がマッチを含む部分文字列、2番目の要素が入力中の部分文字列の最初の文字の位置となる配列となる。
  • PREG_UNMATCHED_AS_NULL- このオプションを有効にすると、マッチしないサブパターンは空文字列ではなくNULLとして返されます。
offset Optional 文字列のどの位置から検索を開始するかを指定します。preg_match()関数は、このパラメータで指定した位置より前にあるマッチを検索しません。

Technical Details
Return Value: マッチが見つかった場合は1、マッチが見つからなかった場合は0、エラーが発生した場合はfalseを返します。
PHP バージョン: 4+
変更ログ: PHP 7.2 - PREG_UNMATCHED_AS_NULLフラグを追加

PHP 5.3.6 - オフセットが入力の長さより長い場合、関数はfalseを返します。

PHP 5.2.2 - 名前付きサブパターンでは、以前の (?P) 構文に加えて (?'name') 構文と (? ) 構文が使えるようになりました。 PHP 5.2.2 - 名前付きサブパターンでは、以前の(?P<name>)構文に加えて(?'name')構文と(?<name>)構文が使えるようになりました

その他の例

PREG_OFFSET_CAPTUREを使用して、一致が見つかった入力文字列内の位置を見つけます。

<?php $str = "Welcome to W3Schools"; $pattern = "/w3schools/i"; preg_match($pattern, $str, $matches, PREG_OFFSET_CAPTURE); print_r($matches); ?>


❮ PHP 正規表現リファレンス


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細