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

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

正则表达式的基本语法

定界符

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

  • /……/

  • ……#

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

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

regexpal工具介绍及获取方式

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

<img src="https://img-blog.csdnimg.cn/2020021615263351.png" width="80%">

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

原子

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

原子的筛选方式

<img src="https://img-blog.csdnimg.cn/20200216160217986.png" width="80%">

下面用 regexpal为大家举例:

匹配a或者b:

<img src="https://img-blog.csdnimg.cn/20200216155740692.png" width="80%">

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

<img src="https://img-blog.csdnimg.cn/20200216155641363.png" width="80%">

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

<img src="https://img-blog.csdnimg.cn/20200216155801263.png" width="80%">

原子的集合

<img src="https://img-blog.csdnimg.cn/20200216160708669.png" width="80%">

量词

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

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

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

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

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

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

?:表示前面的原子 出现 0或1次 ,等价于{0,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地址
?>

欢迎关注我的公众号:学长冷月,获得独家整理的学习资源和日常干货推送。
如果您对我的专题内容感兴趣,也可以关注我的博客:guoyu7.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容

  • `>本文是 Jan Goyvaerts 为 RegexBuddy 写的教程的译文,版权归原作者所有 在本文中讲述了...
    极客圈阅读 2,061评论 0 5
  • 本文译自 制作正则引擎的作者 Jan Goyvaerts 为工具 RegexBuddy 写的教程版权归原作者所有注...
    极客圈阅读 3,257评论 0 25
  • 正则表达式介绍 正则表达式简介 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、...
    dptms阅读 10,898评论 1 9
  • 本文首发于 Caiyun Blog,作者 @Caiyun, 如果您喜欢想转载,这是我的荣幸,您只需要保留原文链接...
    梦幻之云阅读 2,512评论 7 15
  • Markdown基本语法 一、标题 首先是标题,把想要设置成标题的文字加上#号即可,如果是二级标题加两个#即可例:...
    想去阿里的锤子阅读 503评论 1 11