亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消