正規表現 | |
---|---|
(?:) | キャプチャしない丸括弧 |
(?i) | 大文字小文字を無視する修飾モード |
(?-i) | 大文字小文字を無視しない修飾モード |
$str = '<dev align=“center”>Click <a href=“hoge.html”>log-in</A> to enter.</div>';
preg_match('#<a\s+href\s*=\s*(?:“|\')?(.*?)(?:“|\')?>(\w)(?i)</a>#', $str, $matches);
array(3) { [0]=> string(29) "<a href="hoge.html">login</A>" [1]=> string(9) "hoge.html" [2]=> string(5) "login" }
(?:) を適用した ” と ' (ダブルクォートとシングルクォート)はキャプチャされない
preg_match('#<a\s+href\s*=\s*(?:"|\')?(.*?)(?:"|\')?>(\w)(?i)</a>#', $str, $matches); ^^^ ^^^ ^^ ^^ ① ② ③ ④ ① 半角スペース、タブの1つ以上の連続 ② 半角スペース、タブの0個以上の連続 ③ キャプチャしない丸括弧 ④ 大文字小文字を無視する修飾モード