1.什么是正则表达式?
正则表达式,又称规则表达式,(英语:Regular Expression,在代码中经常被简写为regex,regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
2.正则表达式的特点:
(1)灵活性,逻辑性和功能性非常强
(2)可以迅速地用极为简单的方式达到对字符串的复杂控制。
(3)对于刚接触的人来说比较晦涩难懂
3.正则表达是的用途
(1)判断字符串是否符合某一规则(例如:判断是否为手机号或者邮箱格式)
(2)从一个字符串中找出符合规则的所有子字符串(取HTML标签名)
4.正则表达式的语法——字符
(1)常见的转移字符:
数字: \d
非数字: \D
空白字符(空格,制表符,换页符等): \s
非空白字符: \S
单词字符(英文字母[包括大写小写]、数字、下划线): \w
非单词字符: \W
(2)自定义字符集合
字符集合:[单个字符或字符区间],用于匹配集合内字符
如:
[a-z] 表示匹配 a-z 这26个小写字母(a-z只要存在一个或一个以上都会被匹配)
[0-9a-z] 匹配 0-9和a-z(0-9和a-z区间内,只要有任意一个存在就会匹配到)
非集:[^单个字母或字符区间],用于匹配非集合内字符
如:
[^0-9]表示匹配所有非数字字符
5.正则表达式的语法——关键字
() ==》 代表一个整体
^ ==》 匹配输入字符串开始的位置
$ ==》 匹配输入字符串结尾的位置
. ==》 通配符[代表任意字符,除换行符]
✳ ==》 匹配0次或多次
➕ ==》 匹配1次或多次
\ ==》 转义字符
| ==》 在两个条件中选择一个
6.正则表达式的语法——限定符与修饰符
限定符
{n} n个要匹配的字符连在一起才会匹配到 ==》 0{8} 8个0连在一起才可以匹配到
{n,} n个及其以上就会被匹配 ==> 0{2,} 字符串00000 可以匹配到1次
{n,m} ==> 0{2,4} 2个0以上 4个以下就会被匹配到一次
修饰符
/i 不区分大小写
/A 匹配规则必须从头开始匹配
/S 匹配一切字符
/X 正则表达式中的空白字符会被忽略
7.php中的正则表达式使用
一.在使用正则表达式之前需要加代表正则表达式的标识//
二.两个常用函数:
perg_match_all()
三个参数:
1.正则表达式
2.要匹配的字符串
3.匹配的东西放入数组[可选]
返回值:返回匹配到的次数
preg_replace()
三个参数:
1.正则表达式
2.替换成什么
3.匹配字符串
返回值:返回替换后的结果