为了账号安全,请及时绑定邮箱和手机立即绑定

PHP基础编程之鬼斧神工的正则表达式-正则表达式基本语法+简单实例

标签:
PHP Html5 ThinkPHP

在上一篇博文中,冷月带大家初步了解了正则表达式以及在php中正则表达式的常用函数,相信大家在学习后有一定的收获。今天,冷月将给小伙伴们带来正则表达式的基本语法和一些简单的实例。

正则表达式的基本语法

定界符

表示一个正则表达式的开始和结束,一般用特殊符号来表示。简单来说就是用特殊符号把内容包住。

  • /……/

  • #……#

  • {……}
    我们来看一段示例代码:

<?php
var example = '/[0-9]/'; //在php中推荐用这种方式
var example = '#[0-9]#';
var example = '{[0-9]}';
?>

regexpal工具介绍及获取方式

regexpal是一个在线的正则表达式验证工具,我们可以方便的书写我们想要的正则表达式并且直观的看到匹配结果。

2020021615263351.png

如图所示,匹配出0-9的数字,下面待匹配到的结果就会高亮现实。regexpal的官网是https://www.regexpal.com/ 国内访问非常的慢。但是没有关系,冷月为大家找到了一个国内的镜像版本,如何获取呢?大家可以关注冷月的微信公众号:学长冷月。回复:正则表达式。冷月将会把整理好的regexpal工具和学习资料,一起发给您。

原子

原子是正则表达式的最基本的组成单位,分为可见原子和不可见原子。简单来说可见原子就是肉眼可以看见的字符,比如Unicode中的可见字符。而不可见原子包括换行、回车、制表符、空格等非打印字符。

原子的筛选方式
20200216160217986.png

下面用 regexpal为大家举例:

匹配a或者b:

20200216155740692.png

匹配a或者b任意一个原子:

20200216155641363.png

匹配除了a或者b任意一个原子:

20200216155801263.png
原子的集合
20200216160708669.png

量词

简单来说就是记录原子出现的数量,下面列出常见的量词

{n}:前面的原子恰好出现n次

{n,}:前面的原子最少出现n次

{n,m}:表示前面的原子最少出现n次,最多出现m次

*号 :表示前面的原子 出现 0,1或多次 ,等价于{0,}

+:表示前面的原子 出现 1或多次 ,等价于{1,}

?:表示前面的原子 出现 0或1次 ,等价于{0,1}

边界控制

:匹配字符串开始的位置,也就是说必须以后的第一个字符开头;

KaTeX parse error: Expected 'EOF', got ':' at position 1: :̲匹配字符串结尾的位置,也就是说…前的第一个字符结尾。

模式单元

修正模式:

贪婪模式:匹配结果存在歧义时取其长;

懒惰模式:匹配结果存在歧义时取其短。

常见的修正模式:

U:懒惰匹配

u:贪婪匹配

i:忽略英文字母大小写

x: 忽略空白

简单实例

<?php
$notEmpty = '/.+/';  //非空
$floatTwo = '/\d+\.\d{2}$/';  //保留两位小数
$phone = '/1(3|5|7|8|4)\d{9}/';  //手机号
$email = '/^\w+(\.\w+)*@\w+(\.\w+)+$/';  //email
$URL = '/(https?://)?(\w+\.)+[a-zA-Z]+$/'; //url地址
?>
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
0
获赞与收藏
8

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消