首页 > 其他分享 >正则表达式学习(3)——语法

正则表达式学习(3)——语法

时间:2024-06-05 16:12:27浏览次数:20  
标签:学习 匹配 字符 正则表达式 前面 等价 语法 零次 表达式

普通字符

[abc] 匹配中括号的所有字符
[^abc] 匹配除了中括号的所有字符
[A-Z] 匹配A-Z的大写字母区间内的字符
[a-z] 匹配a-z的小写字母区间内的字符
[0-9] 匹配0-9的数字
. 匹配除了换行、回车(\n,\r)的单个字符,等价于[^\n\r]
\s 是匹配所有空白符,包括换行
\S 非空白符,不包括换行
\w 匹配字母、数字、下划线,等价于[A-Za-z0-9_]
\d 匹配任意一个阿拉伯数字(0 到 9)等价于 [0-9]
\D 匹配非数字字符
\W 匹配非数字、字母、下划线字符

非打印字符

常用字符

\n 匹配一个换行符。等价于 \x0a 和 \cJ
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,等价于 [ \f\n\r\t\v]
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]
\t 匹配一个制表符。等价于 \x09 和 \cI

非常用字符

\v 匹配一个垂直制表符, 等价于 \x0b 和 \cK
\f 匹配一个换页符, 等价于 \x0c 和 \cL
\cx 匹配由x指明的控制字符, 例如, \cM 匹配一个 Control-M 或回车符, x 的值必须为 A-Z 或 a-z 之一

特殊字符

$ 匹配输入字符串的结尾位置
( ) 标记一个子表达式的开始和结束位置
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
. 匹配除换行符 \n 之外的任何单字符
[ 标记一个中括号表达式的开始
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合
{ 标记限定符表达式的开始
| 指明两项之间的一个选择

限定符

* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于 {0,}
+ 匹配前面的子表达式一次或多次。例如,zo+ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}
? 匹配前面的子表达式零次或一次。例如,do(es)? 可以匹配 "do" 、 "does"、 "doxy" 中的 "do" 和 "does"。? 等价于 {0,1}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,o{2} 不能匹配 "Bob" 中的 o,但是能匹配 "food" 中的两个 o
{n,} n 是一个非负整数。至少匹配n 次。例如,o{2,} 不能匹配 "Bob" 中的 o,但能匹配 "foooood" 中的所有 o。o{1,} 等价于 o+。o{0,} 则等价于 o*
{n,m} m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。例如,o{1,3} 将匹配 "fooooood" 中的前三个 o。o{0,1} 等价于 o?。请注意在逗号和两个数之间不能有空格。

注意的是:符号针对于位于符号前面的模式起作用,例如:zOO*,这个*号对前面的一个O起作用,表示这个O匹配{0,}次,从zO,zOO到zOOO等

标签:学习,匹配,字符,正则表达式,前面,等价,语法,零次,表达式
From: https://www.cnblogs.com/wansuns/p/18233012

相关文章

  • C++学习笔记(8):指针
      指针的作用:指针保存数据的地址,可以通过指针间接访问内存。1.指针的定义和使用指针的定义语法:数据类型*指针变量名使用:*指针变量名,通过*操作指针指向内存,可以对内存中的数据进行访问和读写。示例:#include<iostream>usingnamespacestd;intmain(){ inta=......
  • cron表达式语法规则及常见示例
    cron表达式语法规则及常见示例cron表达式产生的背景什么是cron表达式常见示例cron表达式产生的背景cron表达式最初是由Unix操作系统中的cron守护进程所使用的一种语法规则,用于设置定时任务。cron守护进程是Unix系统中的一个后台进程,用于周期性地执行指定的命令或脚本......
  • python基础学习day2
    python基础1、注释#单行注释'''三单引号注释'''"""三双引号多行注释"""2、数据类型一、整型(int)表示人的年龄、号码等age=18#age=int(18)print(id(age))print(type(age))print(age)二、浮点型(float)表示身高、体重、薪资salary=2.1#sala......
  • Python深度学习实践:自动编码器在数据降维中的应用
    Python深度学习实践:自动编码器在数据降维中的应用1.背景介绍在现代数据科学和机器学习领域中,高维数据处理是一个常见的挑战。许多真实世界的数据集包含大量的特征,这些特征往往存在高度的冗余和噪声。高维数据不仅增加了计算复杂性,还容易导致维数灾难(curseofdimensio......
  • 正则表达式学习(2)---字符特性
    正则表达式特性字符匹配普通字符:匹配字面值。元字符:元字符具有特殊的含义,例如\d匹配任意数字字符,\w匹配任意字母数字字符,.匹配任意字符(除了换行符)等。量词*:匹配前面的模式零次或多次,例如aa*+:匹配前面的模式一次或多次,例如aa+?:匹配前面的模式零次或一次,例如aa?......
  • Docker部署深度学习模型
    Docker部署深度学习模型基础概念DockerDocker是一个打包、分发和运行应用程序的平台,允许将你的应用程序和应用程序所依赖的整个环境打包在一起。比如我有一个目标检测的项目,我想分享给朋友,那么他首先需要在自己的电脑上配置好显卡驱动、CUDA、CuDNN,在拿到我的项目后,还需要安......
  • 正则表达式学习(1)——模式
    正则表达式用于处理字符和字符串,是一种强大的工具1.正则表达式的模式字面值字符:例如字母、数字、空格等,可以直接匹配它们自身。特殊字符:例如点号.、星号*、加号+、问号?等,它们具有特殊的含义和功能。字符类:用方括号[]包围的字符集合,用于匹配方括号内的任......
  • Python3基本语法(新)
    目录基本语法输出print()格式化输出标识符import关键字保留字(关键字)注释多行注释1、单引号(''')2、双引号(""")缩进空行同一行显示多条语句等待用户输入inputimport与from...import基本语法输出print()print()是一个让计算机在屏幕上进行输出的'指令'.它分为四个部分1.prin......
  • 语法-字符串功能函数
    //C++标凇库提供了丰富的字符串操作函数,下面介绍一些常用的函数。//备注:位置可以看成是字符串的下标,从0开始//获取字符串长度//使用length或size函数来获取字符串的长度。#include<iostream>#include<string>#include<algorithm>#include<cctype>usingnamesp......
  • 小小白学习运维 认识运维第一天(纯理论,看懂 去理解)
    云计算是什么公有云(阿里云腾讯云华为云)+私有云(OpenStack)+混合云公有云:阿里云,腾讯云,华为云。。。——————————Iaas选云服务器配置(什么CPU内存磁盘网络运行环境)买一个叫ESC的服务器就好。——————————pass机器硬件+操作系统(Linux)U......