PHP:正規表現
Perl 互換の正規表現について説明します。 Perl をご存知の方は、そのまま使えます。 正規表現を使用すれば、 「英小文字が5文字と数字が3文字続く」文字列を探す、 とか簡単にできます。 正規表現のパターンは、マニュアルで。 ・preg_grep(パターン, 配列 [, フラグ]) 配列の中から、パターンにマッチする要素だけ配列にして返します。 フラグに PREG_GREP_INVERT を指定すると、マッチしないものだけを返します。$a = array('abc', 'ABc', 'abcDe'); $b = preg_grep("/[a-z]{3}+/", $a); // 英小文字3文字を含む var_export($b); echo '<br>'; $b = preg_grep("/^.{3}$/", $a); // 任意の3文字 var_export($b); echo '<br>';・preg_match(パターン, 文字列 [, $matches [, フラグ [, オフセット]]]) 文字列がパターンに合致した回数を返します。 つまり、0 か 1 を返します。 $matches を指定すれば、一致した情報が格納されます。 $matches[0] パターン全体で一致した文字列が、 $matches[1] 以降は、サブパターンにマッチした文字列が格納されます。 フラグに PREG_OFFSET_CAPTURE を指定すると、 $matches の各要素が、更に配列になり、 $matches[][0] には、マッチした文字列が、 $matches[][1] には、文字列全体に対するオフセット値が格納されます。 オフセットを指定すると、オフセット文字目から検索を開始します。preg_match("/([a-z]{3})([0-9]{2})/", 'abc123', $matches); // array('abc12', 'abc', '12') var_export($matches);