PHP正则表达式
正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。
1.元字符
正则表达式主要依赖于元字符. 元字符不代表他们本身的字面意思, 他们都有特殊的含义. 一些元字符写在方括号中的时候有一些特殊的意思. 以下是一些元字符的介绍:
元字符 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
例:
1 | \bmr\w*\b |
2.限定符
如果想要匹配特定数量的数字,可用限定符来实现:
限定符 | 说明 | 举例 |
---|---|---|
? | 匹配前面的字符零次或一次 | colou?r,该表达式可以匹配colour和color |
+ | 匹配前面的字符一次或多次 | go+gle,该表达式可以匹配的范围从gogle到goo…gle |
* | 匹配前面的字符零次或多次 | go*gle,该表达式可以匹配的范围从ggle到goo…gle |
{n} | 匹配前面的字符n次 | go{2}gle,该表达式只匹配google |
{n,} | 匹配前面的字符最少n次 | go{2,}gle,该表达式可以匹配的范围从google到goo…gle |
{n,m} | 匹配前面的字符最少n次,最多m次 | employ{0,2},该表达式可以匹配employ,employe和employee 3种情况 |
- [] 字符集合(字符域)。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 “plain” 中的 ‘a’。
- [-] 字符范围。匹配指定范围内的任意字符。例如,’[a-z]’ 可以匹配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符。
- | x|y,匹配 x 或 y。例如,’z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。
3.PHP常用正则函数
匹配:preg_match()与preg_match_all()
1 preg_match($pattern,$subject,[array &$matches])
2 preg_match_all($pattern,$subject,array &$matches)1只会匹配一次,2会把所有符合的字符串都匹配出来,并且放置到matches数组中,而且这两个函数都有一个整形的返回 值。1是一维数组,2是二维数组
1 |
|
1 | $str = 'http://baidu.com'; |
1 | $str = 'http://baidu.com'; |
Author: 小灰灰
Link: http://xhh460.github.io/2020/01/21/PHP%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/
Copyright: All articles in this blog are licensed.