正则表达式的作用:分割、查找、匹配和替换字符串。
分隔符:正斜线(/)、hash符号(#)以及取反符号(~)。
通用原子:\d \D \s \S \w \W
元字符:. * + ? ^ $ () [] [^] [-] {n} {n,} {n,m} |
模式修正符:i m e s U x A D u
此部分内容参考 《正则表达式》
解题方法:
先写出一个匹配的字符串
自左向右的顺序使用正则表达式的原子和元字符进行拼接
最终加入模式修正符
真题测试:
<?php
$str = '13622815676';
$pattern = '/^\d{11}$/';
preg_match($pattern, $str, $match);
var_dump($match);
$str1 = '<p>abc</p><p>defgg</p>';
$pattern1 = '/<p>(.*?)<\/p>/';
preg_match_all($pattern1, $str1, $match1);
var_dump($match1);
$str2 = '<IMG alt="图片标题" class="reponsive" src="images/abc.jpg"/>';
$pattern2 = '/<img.*?src="(.*?)"\/?>/i';
preg_match($pattern2, $str2, $match2);
var_dump($match2);
$match3 = preg_replace($pattern2, 'xiaofan', $str2);
var_dump($match3);
echo '<hr>';
$str3 = 'http://www.baidu.com/category/123.html';
$pattern3 = '/^http:\/\/.*/';
preg_match($pattern3, $str3, $match4);
var_dump($match4);
$str4 = '[email protected]';
$pattern4 = '/^[a-zA-Z1-9_-]+@[a-zA-Z1-9_-]+(?:\.[a-zA-Z]+){1,2}$/i';
preg_match($pattern4, $str4, $match5);
var_dump($match5);
参考内容:
