PHP正则表达式
本文最后更新于 2024-06-09,文章内容可能已经过时。
正则表达式
一、概述
Regular Experssion , 可以通过正则字符串从指定的内容中,查找,替换字符。
二、方法
1、preg_match() 可以返回找到字符的个数,或者返回找到的字符(左边第一个);
$str = "hello";
$n = preg_match("/o/",$str);
echo $n; //返回找到的字符,只能找一个
2、preg_match_all() : 返回找到的字符个数,或者返回找到的所有字符。
$str = "hello world";
$n = preg_match_all("/l/",$str);
echo $n; //返回所有找到的字符的个数
3、preg_replace() : 用于替换指定类型的数据
$str = "hello world";
$pattern="/o/";
echo preg_replace($pattern," ",$str);
三、语法
1、字符类
字符模式周围的方括号称为字符类,例如[ABC]。 字符类始终匹配指定字符列表中的单个字符,这意味着表达式[abc]只匹配a、b或c字符。
表达式 | 说明 |
---|---|
[abc] | 匹配字符a,b或c中的任何一个。 |
[^abc] | 匹配a,b,c以外的任何一个字符。 |
[a-z] | 匹配从小写字母a到小写字母z的任意一个字符。 |
[A-Z] | 匹配从大写字母A到大写字母Z的任意一个字符。 |
[0-9] | 匹配0到9之间的一个数字。 |
[a-z0-9] | 匹配a与z之间 或 0与9之间的单个字符。 |
2、预定义字符类
一些字符类(例如数字,字母和空格)被频繁使用,以至于它们都有快捷方式名称。下表列出了那些预定义的字符类:
表达式 | 说明 |
---|---|
. | 匹配除换行符\n之外的任何单个字符。 |
\d | 匹配任何数字字符。 与[0-9]相同。 |
\D | 匹配任何非数字字符。 |
\s | 匹配任何空白字符(空格,制表符,换行符或回车符)。 与[\t\n\r]相同。 |
\S | 匹配任何非空格字符。 |
\w | 匹配任何单词字符(定义为a到z,A到Z,0到9和下划线)。 与[a-zA-Z_0-9]相同 |
\W | 匹配任何非单词字符。 |
3、重复量词
表达式 | 说明 |
---|---|
p+ | 匹配一个或多个字母p。 |
p* | 匹配零个或多个出现的字母p。 |
p? | 匹配零个或一个出现的字母p。 |
p{2} | 正好匹配两个字母p。 |
p{2,3} | 匹配至少两个出现的字母p,但不超过三个出现的字母p。 |
p{2,} | 匹配两次或超过2次出现的字母p。 |
p{,3} | 最多匹配三个出现的字母p |
4、开头结尾
表达式 | 说明 |
---|---|
^p | 与行首的字母p匹配。 |
p$ | 与行尾的字母p匹配。 |
5、模式修饰符
表达式 | 说明 |
---|---|
i | 使匹配不区分大小写。 |
四、检测手机号
$str = "15390129909";
$result = preg_match("/^1[356789][0-9]{9}$/",$str);
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Windesky
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果