正则表达式之原子类型与使用方法介绍

/*
原子类型:所有打印字符(a-z,A-Z,0-9,-,*,&@!()等)和非打印字符(换行、Tab键等)都可以作为原子;
转义字符在正则中使用:\
1.可以将有意义的字符转义成没有意义的(将有意义的变成原子),例如'.';
2.可以将没有意义的字符转义成有意义的,例如n、t等;
3.所有没有意义的字符加上转义也没有意义的,都是可以自由选择加不加转义字符。例如:数字或$等;

通用字符类型作为原子表:                                  自定义原子表:
\d  所有数字                                           -->等价于[0-9]
\D  所有非数字 -->等价于[^0-9]
\w  所有字 字包括0-9,a-z,A-Z,_ -->等于于[0-9a-zA-Z_]
\W  所有非字 -->等价于[^0-9a-zA-Z_]
\s  所有空白 空白包括回车、tab键、空格等等一些 -->等价于[\n\r\f\v\t] 
\S  所有非空白 -->等价于[^\n\r\f\v\t] 

自定义原子表:
[13579]
[^a-zA-Z] -表示范围区间,^表示除了这个区间之外的,自定义原子表一定不要忘了用[]包起来
*/


$str='adb3549@2A F.DN10_*&&^%$#';


//正则表达式匹配时区分大小写
//下面的原子$是属于没有意义的,可以选择加与不加转义符号都可以正常匹配;

$pat='/\$/';
if(preg_match_all($pat,$str,$arr)){
//将单引号用于正则可以输出打印字符;
echo "正则表达式$pat和字符串$str匹配成功!
";
print_r($arr);
echo "
";
}
else{
echo "匹配不成功
";
}

//使用通用字符类型作为原子
$str='adb35 49@2A F.DN10_*&&^%$#';
//匹配所有空白
$pat='/[^a-zA-Z]/';
if(preg_match_all($pat,$str,$arr)){
echo "正则表达式$pat和字符串$str匹配成功!
";
print_r($arr);
echo "
";
}
else{
echo "匹配不成功
";
}
?>

你可能感兴趣的:(PHP地基,小程序)