01. 正则表达式概述

简介: 01. 正则表达式概述

1. 正则表达式概述

正则表达式,其实是一个「规则表达式」,我们通过设定的规则,可以从某个字符串中匹配出想要的数据。

在 Wikipedia 上,我们看到「正则表达式」的说明如下:

正则表达式(英语:Regular Expression,常简写为regex、regexp或RE),又称正则表示式正则表示法规则表达式常规表示法,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在 Perl 中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由 Unix 中的工具软件(例如 sed 和 grep)普及开的。

而更简单去理解的话,其实就是「拿个模子,去套出你想要的数据」。

另外,正则表达式是编程中不可或缺的技术,尤其是现在大家喜欢用 Python 来实现网络爬虫程序,更是能体会到它的强大和魅力。

2. 常见案例(手机号、邮箱校验)

好比,你登录某网站时,账户可以是邮箱,也可以是手机号。此时,系统总会先去校验你输入的邮箱或手机号的格式是否正确,再去判断系统中是否有这个用户。

如果你输入的格式不对,系统就会进行提示,那它是怎么来匹配并验证你输入的信息呢?

比如,手机号的格式匹配,包含了中国电信、中国联通、中国移动、中国广电、上网卡、虚拟运营商等等号段,我们的正则表达式可以这样写:

/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/

还有,邮箱的格式匹配,就简单些:

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

现在看不懂,也没有关系,再复杂的内容,我们后面拆开一个个详细给大家介绍清楚,马上就能看懂了,非常简单的。

目录
相关文章
|
JavaScript 前端开发 Java
《正则表达式经典实例(第2版)》——1.3 正则表达式工具
除非已经拥有了相当长的使用正则表达式编程的经验,否则建议你先在一个工具中试验一下正则表达式,而不是直接在源代码中使用它们。本章和第2章中提供的正则表达式示例都是原始正则表达式,其中并不包含编程语言(即使是Unlx shell)所必需的额外的转义符号。
2283 0
|
5月前
|
C++
正则表达式基础
正则表达式基础
|
前端开发
前端学习案例1-正则概述-元字符
前端学习案例1-正则概述-元字符
52 0
前端学习案例1-正则概述-元字符
|
前端开发
前端学习案例4-正则概述-字符组的简写
前端学习案例4-正则概述-字符组的简写
40 0
前端学习案例4-正则概述-字符组的简写
|
机器学习/深度学习 Linux Go
|
Linux Python
30 分钟轻松搞定正则表达式基础
![](https://ceshiren.com/uploads/default/original/3X/3/d/3dd370fe849dfbae00034a32587f4431165fb220.jpeg) 提起正则表达式,可能大家的第一印象是:既强大好用但也晦涩难懂。正则表达式在文本处理中相当重要,各大编程语言中均有支持(跟 Linux 三剑客结合更是神兵利器)。 正则表达式是对字符串操作的一
正则表达式 - 基础篇
正则表达式 - 基础篇
227 0
正则表达式 - 基础篇
|
算法 Shell Linux
正则表达式基础 | 学习笔记
快速学习正则表达式基础。
150 0
正则表达式解析_学习笔记
时间:2017.11.20 作者:李强 参考:man,info,magedu讲义 声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。
812 0