正则适用于多种语言,无论是脚本语言还是后台语言都能看到它的身影,然而,它的作用是什么呢?我觉得最主要的是匹配、替换、分割这三种。
在说这三种作用前,先说它的符号;
0、" ^ " :一般在匹配开始时表示匹配字符串的开始;
1、" $ " :这个表示匹配字符串的结束;
2、" \w " :这个表示匹配字母或数字或下划线;
3、" \d " :这个表示匹配数字;
4、" \b " :这个表示匹配单词的开始或结束;
5、"[^x]" :这个表示匹配除了x以外的任意字符;
6、" \s " :这个表示匹配任何空白符;
注:上面是小写,而大写则是表示相反意思!
还有特殊说明下,不知道有多少人想我一样,正反斜杠傻傻分不清楚的,”/“这个是正斜杠,在unix系统中表示目录,在web网址中也是用此表示目录;而”\“这个是是反斜杠;反斜杠在正则里面表示转译作用,在window系统中表示目录;
然后说说正则的重复符号:
0、" * " :表示重复前面字符零次或是多次;
1、" + " :表示重复前面字符一次货是多次;
2、" ? " :表示重复前面字符零次或是一次;
3、" {n} " :表示重复前面字符n次;
4、"{n,}" :表示重复前面字符最少n次
5、"{n,m}":表示重复前面字符n到m次;
模式修正符:
i 不区分大小写
m 此模式中如果有回车或换行,^和$将匹配每行的行首和行尾
s 让.能匹配\n
x 忽略空白
U 取消贪婪,相当于(.*?)
A 与^效果一样
D 结尾处不忽略回车 ,在结束处有$符的时候,在匹配的字符串后面加上回车,$依然能够匹配它成功。
但是加上D之后,结尾的回车,不再匹配
NOTE:正则表达式是从左向右进行匹配的
正则函数:
preg_filter — 执行一个正则表达式搜索和替换
preg_grep — 返回匹配模式的数组条目
preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
preg_match_all — 执行一个全局正则表达式匹配
preg_match — 执行一个正则表达式匹配
preg_quote — 转义正则表达式字符
preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
preg_replace — 执行一个正则表达式的搜索和替换
preg_split — 通过一个正则表达式分隔字符串