「preg_match」関数は、
指定した「文字列」「正規表現」に一致する文字を、
検索対象の文字列から検索する関数。
「文字列」の有無検索だけならば、
「strpos」関数の方が動作は早い。
「preg_match」関数を実行すると
検索文字が見つかった場合の返り値は、「1」
検索文字が見つからない場合の返り値は、「0」
検索が失敗した場合の返り値は、「false」
という結果で確認できるようになっている。
オプションを引数に指定することにより、
結果を「配列」で受け取ることも可能。
配列key「0」=「一致した文字」
配列key「1」=「一致した文字の最初の文字位置」
「preg_match」関数の基本書式
preg_match(
string $pattern,
string $subject,
array &$matches = null,
int $flags = 0,
int $offset = 0
): int|false
preg_match(検索する文字列, 検索対象の文字列, 結果を収納する配列, フラグ, オフセット) :返り値(0・1・false)
preg_match(正規表現, 検索対象の文字列, 結果を収納する配列, フラグ, オフセット) :返り値(0・1・false)
preg_match(正規表現, 検索対象の文字列) :返り値(0・1・false)
preg_match(正規表現, 検索対象の文字列, 結果を収納する配列) :返り値(0・1・false)
preg_match(正規表現, 検索対象の文字列, 結果を収納する配列, フラグ) :返り値(0・1・false)
preg_match(正規表現, 検索対象の文字列, 結果を収納する配列, フラグ, オフセット) :返り値(0・1・false)
$Text_Result = preg_match("検索したい文字列", $変数名);
$Text_Result = preg_match($変数名, $変数名);
$Text_Result = preg_match('/正規表現を記述/', $変数名);
「preg_match」関数のパラメータ
| |
| |
pattern |
検索したい「文字」「文字列」「正規表現」。
|
subject |
検索対象の文字列。
|
matches |
「matches」パラメータを指定すると、
配列形式で、「検索結果」が代入される。
配列key「0」=「一致した文字」
配列key「1」=「一致した文字の最初の文字位置」
|
flags |
「flags」パラメータには、
下記のフラグを指定することができるようになっている。
PREG_OFFSET_CAPTURE
「PREG_OFFSET_CAPTURE」フラグを指定すると、
検索結果の文字位置が、「バイト」単位で返されるようになります。
PREG_UNMATCHED_AS_NULL
「PREG_UNMATCHED_AS_NULL」フラグを指定すると、
検索して、合致しなかった検索文字列の結果を、配列に格納するときに、
通常の「空文字("")」ではなく、「null」を格納する。
|
offset |
「offset」パラメータは、
検索対象文字列の検索開始位置を指定するパラメータ。
「flag」パラメータに、「PREG_OFFSET_CAPTURE」を指定することで、
「検索開始位置」を「バイト」単位で指定することもできる。
|
戻り値 |
「preg_match」関数で実行した結果、
検索文字が見つかった場合の返り値は、「1」
検索文字が見つからない場合の返り値は、「0」
検索が失敗した場合の返り値は、「false」
|
エラー / 例外 |
指定された検索のための「正規表現」が認識できない場合、「E_WARNING」エラーが発生する。
|
「preg_match」関数のサンプル書式
if (preg_match("検索したい文字列", "検索対象の文字列")) {
検索が合致した時の処理を記述するエリア
} else {
検索が合致しなかった時の処理を記述するエリア
}
Back