当前位置: 首页 > news >正文

记忆正则表达式的基本元件

正则常见的三种功能,它们分别是:校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。

正则表达式,简单地说就是描述字符串的规则。在正则中,普通字符表示的还是原来的意思,比如字符 a,它可以匹配“Hanmeimei is a girl”中的 H 之后的 a,也可以匹配 is 之后的 a,这个和我们日常见到的普通的字符串查找是一样的。

正则还可以做到普通的查找替换做不到的功能,它真正的强大之处就在于可以查找符合某个规则的文本。

假如你想查找文本中的所有数字,如果不会正则,可能需要手动敲数字,从 0 到 9 这样操作 10 次,一个个去查找,很麻烦。但如果用正则的话就方便很多了,我们直接使用 \d 就可以表示 0-9 这 10 个数字中的任意一个。

\d{11} 表示单个数字出现 11 次,即 11 位数字,如果文本中只有姓名和手机号,我们就可以利用这个查找出文本中的手机号。

所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,元字符是构成正则表达式的基本元件。正则就是由一系列的元字符组成的。

1、特殊单字符

英文的点(.)表示换行以外的任意单个字符,\d 表示任意单个数字,\w 表示任意单个数字或字母或下划线,\s 表示任意单个空白符。另外,还有与之对应的三个 \D、\W 和 \S,分别表示着和原来相反的意思。

 2、空白符

除了特殊单字符外,你在处理文本的时候肯定还会遇到空格、换行等空白符。其实在写代码的时候也会经常用到,换行符 \n,TAB 制表符 \t 等。

在正则中,也是类似于 \n 或 \r 等方式来表示空白符号,只要记住它们就行了。平时使用正则,大部分场景使用 \s 就可以满足需求,\s 代表任意单个空白符号。

 3、量词

在正则中,英文的星号(*)代表出现 0 到多次,加号(+)代表 1 到多次,问号(?)代表 0 到 1 次,{m,n}代表 m 到 n 次。

 当我们使用 \d+ 时,能匹配上 3 个,但使用 \d* 时能匹配上 6 个。

4. 范围

在正则表达式中,表示范围的符号有四个分类:

 首先是管道符号,我们用它来隔开多个正则,表示满足其中任意一个就行,比如 ab|bc 能匹配上 ab,也能匹配上 bc,在正则有多种情况时,这个非常有用。

中括号[]代表多选一,可以表示里面的任意单个字符,所以任意元音字母可以用 [aeiou] 来表示。另外,中括号中,我们还可以用中划线表示范围,比如 [a-z] 可以表示所有小写字母。如果中括号第一个是脱字符(^),那么就表示非,表达的是不能是里面的任何单个元素。

比如某个资源可能以 http:// 开头,或者 https:// 开头,也可能以 ftp:// 开头,那么资源的协议部分,我们可以使用 (https?|ftp):// 来表示。

 此文章为8月Day18学习笔记,内容来源于极客时间《正则表达式入门课》,推荐该课程。

http://www.lryc.cn/news/129167.html

相关文章:

  • 低代码是什么?解决哪些问题?什么业务场景适合用低码开发?
  • SOA架构
  • “深入探索JVM内部机制:解密Java虚拟机“
  • PostgreSQL空值的判断
  • 使用phpunit进行单元测试
  • MongoDB 简介
  • [LitCTF 2023]Follow me and hack me
  • Java从入门到高级的全面指南
  • linux 命令- systemctl
  • 自动驾驶,一次道阻且长的远征|数据猿直播干货分享
  • 大数据培训前景怎么样?企业需求量大吗
  • redis — 基于Spring Boot实现redis延迟队列
  • 【日常积累】Linux之init系统学习
  • Python功能制作之3D方块
  • 【0基础入门Python笔记】二、python 之逻辑运算和制流程语句
  • python中的svm:介绍和基本使用方法
  • typedef
  • 校园跑腿市场行情分析
  • 微服务相关面试题
  • 前端-ES6
  • 169. 多数元素(摩尔投票法) 题解
  • python中的cnn:介绍和基本使用方法
  • Dockerfile概念、镜像原理、制作及案例讲解
  • 07-微信小程序-注册页面-模块化
  • 考研算法第46天: 字符串转换整数 【字符串,模拟】
  • Cesium for unity 1.5.0使用注意事项
  • 初阶C语言-结构体
  • Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示
  • java学习004
  • Linux网络编程:网络基础