//正则表达式常用函数
//preg_match(),参数1为模式,参数2为字符串,按字节一个一个比较,如果匹配,返回真(1),否则返回假(0)
echo preg_match('/php[0-5]/','php4').'
';
//preg_grep()搜索数组中的能够与模式匹配的元素,返回一个新数组
$lang = array('php','asp','jsp','python','ruby');
$mode = '/p$/';//以p字符结尾的语言
print_r(preg_grep($mode,$lang));
//可通过list()或者循环取出元素
echo '
';
$mode = '/^p/';//以p字符开头的语言
print_r(preg_grep($mode,$lang));
echo '
';
//preg_match_all(模式,字符串,变量):将字符串中所有匹配模式的结果放入变量中,得到一个二维数组;
preg_match_all('/php[1-5]/','php2sdfensnphp4sfvdvphp5',$array);
print_r($array);
echo '
';
echo $array[0][0].'
';
echo $array[0][1].'
';
echo $array[0][2].'
';
//定界正则:特殊符号前加\(输入到数据库中可能会用)
echo preg_quote('apple is $10').'
';
//重要功能:查找和替换; preg_replace(模式,新字符,原字符串)
$str = 'here is php6 and php5 !';
echo preg_replace('/php[1-6]/','python',$str);
echo '
';
//分割字符串preg_split(模式,字符串):生成一个数组,元素为分割的每一段
$address = 'innova_1027@gmail.com';
$mode = '/@/';
print_r(preg_split($mode,$address)).'
';
$mode = '/[_.@]/';//不要忘了[]括号
print_r(preg_split($mode,$address));
?>
输出结果: