正则表达式
2018-06-22 05:05:30来源:未知 阅读 ()
正则表达式是用来验证数据的,验证数据非常简单,但是执行效率不高,通过一些元字符(具有特殊含义的字符)去验证数据
(一) 定义字符集
[a-e] 随意匹配a到e连续字符中的某一个字符
[aeiou] 随意匹配aeiou这5个零散字符中的某一个字符
[a-z] 随意匹配26个小写英文字母之一
[A-Z] 随意匹配26个大写英文字母之一
[a-zA-Z] 随意匹配一个大写 或 小写英文字母
[0-9] 随意匹配0到9之间任意一个数字
[a-zA-Z0-9] 随意匹配一个大小写英文字母或数字
[a-zA-Z0-9_-] 随意匹配一个大小写英文字母或数字或_下划线或-中横线之一
[5-7] 随意匹配5到7连续数字的一个数字
注意:
匹配数字、英文字母的一段 ,段的开始到结尾必须由小到大设置
像[7-2]、[h-c]等等都是错误的语法
(二) 特别字符集
$ 匹配目标字符串的”结尾”位置。
^ “托字符”匹配目标字符串的”开始”位置
^的作用:
① $pat = “/^hello/”; /hello需要在目标内容开始出现
② $pat = “/[^0-9]/”匹配非0到9之间数字以外的其他字符内容
( ) 标记一个子表达式的”开始”和”结束”位置
小括号( )作用:
① 提高子表达式优先级
② 可以从大的字符串中拆分小的内容出来
* 表示其前面那个单元出现0次或以上 任意次数
. 匹配除换行符 \n之外的任何单字符, 例如 .* 表示匹配任何内容
+ 表示其前面那个单元出现1次或以上 任意次数
? 表示其前面那个单元出现0次或1次 要么出现、要么不出现
\ 这个符号是用来转义的,去除符号的特殊意思,只保留符号的本质意思
| 指明两项之间只选择一个,或 的意思
(三) 组合字符集
\d 表示匹配0到9之间的一个数字 是[0-9]的别名
[1-9] 匹配一个非0数字
[5-9] 匹配5到9之间的一个数字
\w 表示匹配(大小写)字母、数字、下划线其中的一个[a-zA-Z0-9_]
\s 表示空格
//匹配hello 和 beijing中间有三个空格
$pat = “/hello beijing/”; //可读性不好
$pat = “/hello\s\s\sbeijing/”; //可读性好
(四) 限制字符
{m} 其前一单元严格出现m次
{m,} 其前一单元出现至少m次,至多不限制
{m,n} 其前一单元出现至少m,至多n次,n比m要大
(五) 模式修正符
正则完全的设置: $pat = “/正则内容/模式修正符”;
I : 忽略大小写
U :就近匹配,避免贪婪匹配!
(六) 单次 / 全局匹配
preg_match()
可以通过正则对目标字符串进行“单次”匹配
preg_match_all
(正则,内容,匹配结果)函数
该函数返回二维数组
可以实现对内容的全局匹配,所有与模式符合的内容都给匹配出来
例:
// 单次匹配
$pat = "/\d/";
$str = "2016-12-14 19:21:55";
preg_match($pat,$str,$out); // array(1) { [0]=> string(1) "2" }
// 全局匹配
preg_match_assll($pat,$str,$out);
var_dump($out);
(七) 常用验证
// 邮箱验证
$pat = "/`[a-z1-9][a-z0-9\.]{5,}@(\d+|[a-z]+)(\.[a-z]+)+$/i";
$pat =“/\w+([\.-]?\w+)?@\w+\.(com|cn|net|org)/”;
// 手机号验证
$pat = "/1[3578]\d{9}$/";
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:rabbitMQ+php
下一篇:php foreach引用赋值
- php表单习惯用的正则表达式 2020-01-16
- PHP正则表达式从url中取得域名 2019-06-21
- PHP中的正规表达式(二) 2019-06-14
- PHP中的正规表达式(一) 2019-06-14
- PHP正则表达式,看这一篇就够啦! 2019-05-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash