惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
Jina AI
Jina AI
博客园_首页
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
N
News | PayPal Newsroom
S
Security Archives - TechRepublic
量子位
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Cisco Blogs
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Scott Helme
Scott Helme
S
Securelist
Security Latest
Security Latest
爱范儿
爱范儿
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
Intezer
L
LINUX DO - 最新话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
月光博客
月光博客
T
Tailwind CSS Blog
Cloudbric
Cloudbric
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
D
DataBreaches.Net
博客园 - 【当耐特】
有赞技术团队
有赞技术团队

博客园 - 银翼

【MySQL】Windows下如何彻底卸载MySQL? 【MySQL】Windows下如何重置root账号密码? 【Java】Task07实验4第5题解析 【辅导】Task12 类的定义与继承练习 【辅导】Task11 如何获取文件上传错误信息 PHP开发环境配置 XAMPP更换Apahce服务端口号 《Web应用开发技术(PHP)》往届学生优秀作业 【辅导】Task19 实现用户登录 主要知识点 【辅导】Task18 更新与插入删除操作 主要知识点 【辅导】Task17 查询数据 主要知识点 【辅导】Task16 使用MySQL数据库 主要知识点 【辅导】Task15 熟悉错误与异常处理 主要知识点 【辅导】Task13 使用会话管理 主要知识点(2) 【辅导】Task13 使用会话管理 主要知识点(1) 【辅导】Task12 使用类和对象 主要知识点(2) 【辅导】Task12 使用类和对象 主要知识点(1) 【辅导】Task11 熟悉PHP文件操作 主要知识点 【辅导】Task10 掌握PHP表单处理 主要知识点
【辅导】Task14 使用正则表达式 主要知识点
银翼 · 2020-04-16 · via 博客园 - 银翼

    正则表达式是一门“语言”,用于描述文本的模式,以便用于文本的匹配、检索和抓取。正则表达式是简单的,它用普通字符和一些特殊字符(元字符)来描述文本的模式,同时它又是强大的,可以高效地完成文本的处理。

    许多高级语言都支持使用正则表达式,如大家使用过的Javascript和Java,C语言通过第三方函数库也可支持正则表达式,MySQL也支持在SQL语句中使用正则表达式。

    本任务主要让大家熟悉正则表达式的基础知识,掌握常用文本匹配的正则表达式编写。高级的应用还需要大家自己去学习。

1、什么是正则表达式?

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

  • 匹配:使用preg_match()preg_match_all()函数
  • 替换:使用preg_replace()函数
  • 分割子串:使用preg_split()函数

2、正则表达式语法

    正则表达式必须用/…/括起来。如:/^[_a-zA-Z0-9]{3,10}$/

    正则表达式由普通字符特殊字符(元字符)组成。

  • 普通字符:所有不是元字符的字符,包括大小写字母、数字、标点符号和其它符号。如:/runo*b/中,runob都是普通字符。要表示元字符本身的字符,要使用转义符\,如\-。
  • 元字符:在正则表达式中有含义的字符。
  •  ^ 匹配字符串开始;取非运算
  •  $ 匹配字符串结束
  •  [ ] 匹配多个字符中任一个
  •  {m,n} 重复次数 /^\d{3,}$/
  •  ( ) 组合正则表达式,改变组合优先顺序
  •  | 或运算
  •  * 匹配0次或多次
  •  + 匹配1次或多次
  •  匹配0次或1次
  •  - 连字符,如a-z
  •  . 除\r,\n以外的任意单个字符
  •  \ 转义符,如\\表示\字符

3、正则表达式匹配规则

  • 基本模式匹配,如使用^,$确定头与结尾 /^food$/
  • 使用字符簇,如[a-z]
  • 确定重复出现,如,\w+,\d{10},[1-9]\d*
  • 判断运算符优先级

4、常用正则表达式

(1)中国邮政编码 /^\d{6}$/   [1-9]\d{5}

(2) 手机号码 \d{11}  1[3-9]\d{9}

(3) 国内固定电话号码

(4) 身份证号 \d{17}[0-9xX]

(5) 用户名  思考:必须使用字母开头,后面可以是字母数字下划线,最多32个字符?(PHP中标识符命名规则)

(6) 学号,10位数字

(7) 正整数、整数、浮点数

5、课程预告

下周三(4.22),完成Task 15 熟悉错误调试与异常处理 任务的学习。

下周四(4.23),课堂测验。

从第11周起,我们主要介绍PHP操作MySQL数据库。