1. 正規表現は文字列の検索とマッチングのためのツールです
2. phpでよく使われる正規表現関数
3. 機能の説明
$pattern = 正規表現
$subject = 一致する目的関数
(1) preg_match() と preg_match_all(): 結果が一致した回数を返します
例:
$pattern='/[0-9]/';
$subject = 'weuyr3ui76as83s0ck9';
$m1 = $m2 = array();
t1 = grep_match($pattern, $subject, $m1);
t2 = grep_match_all($pattern, $subject, $m2);
結果: m1 = array([0]=>3)
m2 = array([0]=>array([0]=>3,[1]=>7,[2]=>6,[3]=>8,[4]=> ;3,[5]=>0,[6]=>9))
t1 = 1
t2 = 7
(2) preg_replace と preg_filter: 配列の置換をサポートします
例:
$pattern='/[0-9]/';
$subject = 'weuyr3ui76as83s0ck9';
$replacement = 'ying';
$str1 = preg_replace($pattern, $replacement, $subject);
$str2 = preg_filter($pattern, $replacement, $subject);
結果:
$str1 = 'weuyryinguiyingyingasyingyingsyingckying'
$str2 = 'weuyryinguiyingyingasyingyingsyingckying'
例: 2:
$pattern = array('/[0123]/', '/[456]/', '/[789]/')
$replacement = array('あ', 'ら', '妦')
結果:
$str1 = 'weuyrAh ui妦拉as妦ahsahck妦'
$str2 = 'weuyrah ui妦拉as妦ahsahck妦'
例: 3:
$subject = array('weuy', 'r3ui', '76as83', 's', '0ck9');
結果:
$str1 = array([0]=>weuy, [1]=>rui, [2]=>gt;妦拉as妦ああ、[3]=>s, [4]=>ああ泣き叫ぶ)
$str2 = array([1]=>rahui, [2]=>妦拉as妦妦ah, [4]=>ahck妦)
(3) grep_grep($pattern, array $input): grep_filter() の骨抜きバージョン、一致のみ、置換なし
例:
$pattern='/[0-9]/';
$subject = array('weuy', 'r3ui', '76as83', 's', '0ck9');
$arr = preg_grep($pattern, $subject);
結果:
$arr = array([1]=>r3ui, [2]=>76as83, [4]=>0ck9)
(4) grep_split($pattern, $subject):explode はこの関数のサブセットです
例:
$pattern = '/[0-9]/';
$subject = 'あなた2人は3がとても上手です!'
$arr = preg_split($pattern, $subject);
結果:
$arr = ([0]=>あなた、[1]=>OK、[2]=>ああ!)