模式修正符镇楼。
模式修正符 | 说明 |
i | 表示在和模式进行匹配进不区分大小写 |
m | 将模式视为多行,使用^和$表示任何一行都可以以正则表达式开始或结束 |
s | 如果没有使用这个模式修正符号,元字符中的"."默认不能表示换行符号,将字符串视为单行 |
x | 表示模式中的空白忽略不计 |
e | 正则表达式必须使用在preg_replace替换字符串的函数中时才可以使用(讲这个函数时再说) |
A | 以模式字符串开头,相当于元字符^ |
Z | 以模式字符串结尾,相当于元字符$ |
U | 正则表达式的特点:就是比较“贪婪”,使用该模式修正符可以取消贪婪模式 |
正则表达式:用以匹配文本,找出你所规定个格式的文本,通常用来搜索,截取,替换,删除等,功能强大,无与伦比,废话不多说,进入重点的几个点。
(2)、元字符 (有特殊功能的字符)。
(3)、模式修正符 (系统内置部分字符 i 、m、S、U…)。
举例:/(.*)love[0-9]$/i
首先 / /为分界符,代表其中内容为正则表达式,也是使用其他符号代替。
.代表任意字符
[0-9]代表0到9中的任意一个数字,注意,[]括号内只匹配一个字符,是一个,不是多个。
ab代表匹配love这个字符串
$符号代表结尾,此处结尾必须以0--9中的一个数字结尾
i----模式修正符 如上表可以看到!!
--------------------------------------------------------------------------0.0
正则表达式中的“原子”
①a-z A-Z _ 0-9 //最常见的字符
②(abc) (skd) //用圆括号包含起来的单元符合
③[abcs]
[^abd] //用方括号包含的原子表,原子表中的^代表排除或相反内容
④转义字符
\d 包含所有数字[0-9]
\D 除所有数字外[^0-9]
\w 包含所有英文字符[a-zA-Z_0-9]
\W 除所有英文字符外[^a-zA-Z_0-9]
\s 匹配空格符 包括换行符和TAB
\S 匹配除空格符之外的符号
\b 边界匹配 a\b ---- 匹配以a开头或a结尾的字符串
\B
匹配符:
头匹配符:^
尾匹配符:$
头尾结合代表一个确定的字符串 如^loveyou$ --匹配loveyou
通配符:
* 匹配0或多次
+ 匹配1次或多次
? 匹配0次或1次
{1,4} 重复1到4次,依此类推
转义字符
1)空字符:
换行\n
回车\r
制表符\t
2)其他字符:
"$"
\$
"^"
\^
"+"
\+
"/"
\/
以上转移字符是为了区别出来 如你想表示 . 号(即字符串里面有. 如邮箱haha@qq.com)
附带一个邮箱正则例子:
邮箱分为三部分: a@b.com
a:邮箱用户名
@
b:主机名/服务器名
eregi(”^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$”,$eamil) //此处的邮箱主机地址不允许下划线,具体看你的情况咯!
再来一个去处JS脚本的正则表达式:
<script[^>]*?>(.*)?<\/script>
网上有很多正则例子,电话号码,邮箱等等,大家可以自己去搜哦!