首页 > 其他分享 >正则表达式

正则表达式

时间:2024-06-30 23:20:10浏览次数:13  
标签:字符 匹配 正则表达式 3.1 2.1 元字符

正则表达式

目录

一、正则表达式的概述

1、概念

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

2、作用

通常用于判断语句中,用来检查某一字符串是否满足某一格式

• 正则表达式是由普通字符与元字符组成

• 普通字符包括大小写字母、数字、标点符号及一些其他符号

• 元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式

3、可达到的目的

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

  • 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)
  • 可以通过正则表达式,从字符串中获取我们想要的特定部分

二、基础正则

1、字符匹配元字符

元字符 意义
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符,如:[0-9]匹配到的就是0至9中的任意一个数字
[^] 匹配指定范围外的任意单个字符,如:[ ^35]匹配到的就是除了含3和5的其他数字
[:alnum:] 字母和数字,即[0-9a-Za-z]
[:alpha:] 代表任何英文大小写字符,即[a-Za-z]
[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z]
[:upper:] 大写字母,[[:upper:]]相当于[A-Z]
[:blank:] 空白字符(空格和制表符)
[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广

1.2、实例

1.2.1 . ( 匹配任意单个字符)

image-20240521151226716

1.2.2 [] (匹配指定范围内的任意单个字符)

image-20240521152239182

1.2.3 [^]匹配指定范围外的任意单个字符

image-20240521161259965

2、表示次数的元字符

元字符 功能
* 匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配
.* 任意长度的任意字符,不包括0次
? 匹配其前面的字符出现0次或1次,即:可有可无
+ 匹配其前面的字符出现最少1次,即:肯定有且大于等于1次
匹配前面的字符n次
匹配前面的字符至少m次,至多n次
匹配前面的字符至多n次,<=n
匹配前面的字符至少n次

2.1 实例

2.1.1 *

image-20240521182424144

2.1.2 .*

image-20240521182511787

2.1.3 ?

image-20240521183157416

2.1.4 +

image-20240521183431165

2.1.5 {}

image-20240521184037402

3、表示位置锚定

元字符 功能
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行(^root$表示单独一行只有root)
^$ 空行,不包含空格行
[1]*$ 空白行
\b,< 词首锚定,用于单词模式的左侧(连续的数字,字母,下划线都算单词内部
\b,> 词尾锚定,用于单词模式的右侧

3.1实例

3.1.1 [2]*$

image-20240521190329375

3.1.2 PATTERN$

image-20240521190535845

3.1.3 ^$

image-20240521190753612

3.1.4 /b/b

image-20240521191451477


  1. [:space:] ↩︎

  2. [:space:] ↩︎

标签:字符,匹配,正则表达式,3.1,2.1,元字符
From: https://www.cnblogs.com/shijunan2/p/18277145

相关文章

  • 探索Java正则表达式的奥秘:源码之旅与高级应用
    1.引言在Java编程中,正则表达式(RegularExpression,简称Regex)是一个强大的工具,用于处理字符串匹配、查找和替换等任务。Java提供了java.util.regex包来支持正则表达式的功能。对于Java工程师来说,理解其背后的工作原理和源码实现,可以进一步掌握其性能特性和最佳实践。2.ja......
  • Java正则表达式
    Java正则表达式1.正则表达式是什么?正则表达式是用于匹配和操作文本模式的工具。它由字符和特殊元字符组成,能够实现强大的文本搜索、验证、替换等功能。2.正则表达式基本语法(1)匹配普通字符匹配数字[0123456789]简写为[0-9]匹配小写字母[a-z]匹配大写字母[A-Z]匹配大小......
  • Shell 编程之正则表达式与文本处理器
    Shell编程之正则表达式与文本处理器一、正则表达式基础正则表达式元字符总结二、文本处理器sed工具awk工具sort工具uniq工具tr工具三、总结在Shell编程中,正则表达式(RegularExpression)和文本处理器(如grep,sed,awk等)是两个极其重要的工具,它们允许我们以复杂......
  • python中常见re正则表达式(整数、小数、邮箱、号码、车牌、x开头y结尾)大合集(值得收
    目录专栏导读库的介绍库的安装1、匹配整数2、匹配某几位整数3、匹配小数4、匹配电话格式1:11位数字格式2:187-12341234或者187-1234-1234格式3:(123)456-7890,或者+86123-456-78905、匹配邮箱6、匹配车牌7、xx为开头yy为结尾9、匹配中文10、匹配非中文总结专栏导读......
  • 正则表达式合集
    //身份证正则表达式(15位) isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; //身份证正则表达式(18位) isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; 地区、性别和身份证进行判断的正则表达式: <script> va......
  • Python爬虫之路(12)--re正则表达式
    正则表达式认识正则正则表达式,又称规则表达式,(RegularExpression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个语法规则的......
  • Python笔记 - 正则表达式
    正则表达式(RegularExpression,简称regex)是一种强大的工具,用于匹配字符串模式。在Python中,正则表达式通过re模块提供。本文将带你深入了解Python中的正则表达式,从基础概念到高级用法。1.什么是正则表达式?正则表达式是一种用来描述字符串模式的方法。它可以用来匹配、查找......
  • PHP正则表达式
    PHP正则表达式函数PHP正则表达式介绍正则表达式允许您搜索和替换字符串中的模式。安装PHP正则表达式函数是PHP核心的一部分。无需安装即可使用这些功能。运行时配置php.ini中的这些设置可用于限制计算正则表达式时使用的时间或资源量。名称默认值描述Changea......
  • 正则表达式
    正则表达式importre限定符(quantifier)a* a出现0次或者多次a+ a出现1次或者多次a? a出现0次或者一次a{6} a出现6次a{2,6}a出现2-6次a{2,} a出现两次以上或运算符(OROperator)(a|b) 匹配(ab)|(cd) 匹配ab或者cd字符类(CharacterClasses)[abc] 匹配a或者b......
  • 正则表达式,你不知道的先行断言与后行断言
    正则表达式可以分为两个主要部分:标记和修饰符:标记(Token):是正则表达式的基本构建块,它们表示具体的字符文字、元字符、字符类别、重复限定符、边界匹配、分组和捕获等;修饰符(Modifier):是用来修改正则表达式的匹配行为的标志,例如忽略大小写、全局匹配、多行模式等。修饰符可以影......