当前位置:网站首页>01. 正则表达式概述
01. 正则表达式概述
2022-06-30 06:01:00 【江帅帅】
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})$/
现在看不懂,也没有关系,再复杂的内容,我们后面拆开一个个详细给大家介绍清楚,马上就能看懂了,非常简单的。
边栏推荐
- Detailed explanation of issues related to SSL certificate renewal
- luoguP2756 飞行员配对方案问题(最大流)
- Huxiaochun came to fengshu electronics to sign a strategic cooperation agreement with Zoomlion
- C language code record
- CompletionService使用及原理(源码分析)
- 二十四、输入输出设备模型(串口/键盘/磁盘/打印机/总线/中断控制器/DMA和GPU)
- requests. The difference between session () sending requests and using requests to send requests directly
- Mariadb数据库的安装与初始化
- Summation of basic exercise sequence of test questions
- 46. 全排列-dfs双百代码
猜你喜欢

What do you think of the deleted chat records? How to restore the deleted chat records on wechat?

Cisco vxlan configuration

Golang之手写web框架

Feisheng: Based on the Chinese word breaker ik-2 ways to build custom hot word separators Showcase & pit arrangement Showtime

MySQL日志管理、数据备份、恢复

Lantern Festival | maoqiu technology and everyone "guess riddles and have a good night"

MySQL storage system

CompletionService使用及原理(源码分析)

leetcode763. Divide letter interval

Implementation of property management system with ssm+ wechat applet
随机推荐
Summary of redis learning notes (I)
[GPU] basic operation of GPU (I)
Intelligent question - horse racing question
luoguP2756 飞行员配对方案问题(最大流)
Finally someone can make the server so straightforward
二十四、输入输出设备模型(串口/键盘/磁盘/打印机/总线/中断控制器/DMA和GPU)
Ultra simple STM32 RTC alarm clock configuration
从零开发 stylelint规则(插件)
Leetcode56. consolidation interval
VLAN access mode
Create priority queue
C language code record
Attempt to redefine 'timeout' at line 2 solution
【学习强化学习】总目录
MySQL storage system
Navigate back to fragmentpageradapter - & gt; Fragment is empty - navigating back to fragmentpageradapter - & gt; fragments are empty
Ten years' miscellaneous thoughts
Potential bottleneck of redis
RSA and AES
Es6数组