正则表达式就是描述字符串排列模式的一种自定义规则,就是通过构建具有特定规则的模式,与输入的字符串信息比较。在进行分割,匹配,查找,替换等工作。
学习正则表达式
一. 正则表达式的模式如何编写
(1)定界符号 / /
除了字母,数字和反斜线\以外的任何字符都可以为定界符号
| | / / { } ! !
(2)原子
注意:原子是正则表达式的最基本组成单位,而且必须至少要包含一个原子
只要一个正则表达式可以单独使用的字符,就是原子
1. 所有打印(所有可以在屏幕上输出的字符串)和非打印字符(看不到的)
2. \. \* \+ \? \( \<\> 如果所有有意义的字符,想作为原子使用,统统使用 ”\“转义字符转义 m
" \ "转义字符可以将有意的字符转成没意义的字符,还可以将没意义的字符转为有意义的字符
3. 在正则表达式中可以直接使用一些代表范围的原子
\d : 表示任意一个十进制的数字 [0-9]
\D : 表示任意一个除数字这外的字符 [^0-9]
\s : 表示任意一个空白字符,空格、\n\r\t\f [\n\r\t\f ]
\S : 表示任意一个非空白 [^\n\r\t\f ]
\w : 表示任意一个字 a-zA-Z0-9_ [a-zA-Z_]
\W : 表示任意一个非字, 除了a-zA-Z0-9_以外的任意一个字符 [^a-zA-Z0-9_]
4. 自己定义一个原子表[], 可以匹配方括号中的任何一个原子
[a-z5-8]
[^a-z] 表示取反, 就是除了原子表中的原子,都可以表示(^必须在[]内的第一个字符处出现)
(3)元字符
元字符是一种特殊的字符,是用来修饰原子用的,不可以单独出现
(4)模式修正符号
/原子和元字符/模式修正符号 / 为定界符号 (有一些语言是不需要这个定界符号)
二. 学习正则表达式的强大处理函数
preg_match();
$pattern="/[^0-9]/"; //正则表达式模式
$string="0786968379#780780970"; //需要和上面模式字符串进行匹配的变量字符串
if(preg_match($pattern, $string)){
echo "正则表达式 <b>{$pattern} </b>和字符串 <b>{$string}</b> 匹配成功";
}else{
echo "<font color='red'>正则表达式{$pattern} 和字符串 {$string} 匹配失败</font>";
}