正则表达式初版

一、简介

REGEXP: Regular Expressions,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。

正则表达式被很多程序和开发语言所广泛支持:vim, less,grep,sed,awk, nginx,mysql 等     

主要用来匹配字符串(命令结果,文本内容)

通配符匹配文件(而且是已存在的文件)

--- 基本正则表达式

--- 扩展正则表达式

可以使用

man 7 regex
可以使用 man手册帮助

1元字符(字符匹配)

元字符:

注册用户   数字字母组成        20字符


[0-9a-zA-Z]次数 

单个字符出现的次数

echo      ”用户名“     |    grep   [0-9a-zA-Z]次数 (20个及以下) 

.   匹配任意单个字符,可以是一个汉字  
[]   匹配指定范围内的任意单个字符,示例:[zhou]   [0-9]   []   [a-zA-Z]  [[:alpha:] ]==[0-9]   [[0-9a-zA-Z]]= [:alnum:]
[^] 匹配指定范围外的任意单个字符,示例:[^zhou] [^a.z] [a.z]
[:alnum:] 字母和数字
[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z]
[:upper:] 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:] 包括空格、制表符 (水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:digit:] 十进制数字
[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
\w #匹配单词构成部分,等价于[_[:alnum:]]
\W #匹配非单词构成部分,等价于[^_[:alnum:]]
\S     #匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\s     #匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意Unicode 正则表达式会匹配全角空格符

1.1元字符点(.)

.在方框中,只代表.本身

.不在方框中,就代表任意字符

1.2不加 " ",会出错

1.3过滤空格

1.4*的作用

*代表,前面字符出现0次和无数次,都可以匹配

1.5.*的作用

.*代表,前面字符可以出现无数次,但出现0次,不能匹配;最少出现1次

1.6\?的作用

\?代表只能匹配,0次和1次,两次及以上就不能匹配了

1.7\+的作用

\+代表,一次和无数次,0次不行

1.8\{n\}的作用

\{n\} ###匹配前面的字符n次

1.9\{m,n\}

\{m,n\} ###匹配前面的字符至少m次,至多n次

1.10结合命令

1.表示QQ号

2.手机号码

3.邮箱

4.\b  \b

5.匹配真正的字符

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/418800.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023我的编程之旅】七次不同的计算机二级考试经历分享

目录 我报考过的科目 第一次报考MS Office 第二次报考Web语言,C语言,C语言 第三次报考C语言,C语言,Java语言 分享一些备考二级的方法 一些需要注意的细节 结语 2023年的CSDN征文活动已经进入了尾声,在这最后我…

Cortex-M3/M4内核NVIC及HAL库函数详解(2):HAL库中断底层函数实现

0 工具准备 Keil uVision5 Cortex M3权威指南(中文) Cortex M3与M4权威指南 stm32f407的HAL库工程 STM32F4xx中文参考手册 1 HAL库中断底层函数实现 打开stm32f407的HAL库工程,可以在CMSIS->Include->core_cm4.h内找到有关NVIC寄存器设…

MySQL 的delete、truncate、drop 有什么区别

目录 一、从执行速度上来说 二、从使用场景和原理上讲 1、DELETE 2、truncate 3、drop 希望能够帮助到大家!!! 一、从执行速度上来说 drop > truncate >delete 二、从使用场景和原理上讲 1、DELETE DELETE from TABLE_NAME wh…

uniapp的IOS证书(.p12)和描述文件(.mobileprovision)申请 2024年最新教程

文章目录 准备环境登录 iOS Dev Center 下面我们从头开始学习一下如何申请开发证书、发布证书及相对应的描述文件。首先需要申请苹果 App ID (App的唯一标识)生成证书请求文件申请开发(Development)证书和描述文件申请开发(Development)证书添加调试设备…

蓝桥杯备战 每日一题 (4)

题目地址 首先我们要有一个知识储备 1 加法:(ab)%m(a%mb%m)%m 2 减法:(a-b)%m(a%m-b%m)%m 3 乘法:a*b%m(a%m)*(b%m)%m 我们可以每次计算就可以取余一次,这样就保证了最后取余的结果和一起相加再取余的结果一样 然后这个题目要怎…

Pyro —— Velocity Voxel Scale

Velocity Voxel Scale是H19.5引入的新参数,该参数可单独定义volume和速度体素;根据参数设置,可观察到模拟时间的显著变化; Velocity Voxel Scale对DOP和SOP均可用;对DOP设置,该参数在Smoke Object&#xf…

postgresql(Windows)初始化数据库教程

省流:本文章内容讲的是如何初始化postgresql数据库环境,前提是已经安装好postgresql数据库,安装步骤参考postgresql(Windows)安装教程 # 开始:安装postgresql-12.14-2-windows-x64.exe完成后进行初始化数据…

frida https抓包

web端导入证书、https代理即可解决大部分需求,但是,有些app需要处理ssl pinning验证。 废话不多说。frida处理ssl pin的步骤大体如下。 安装python3.x,并在python环境中安装frida: pip install frida pip install frida-tools下载frida-se…

tomcat原理模拟和tomcat优化

1、tomcat实现原理 servlet 没有主方法main,依赖tomcat才能运行,因为tomcat 有主方法main,由java编写 servlet中doGet和doPost方法属于非静态方法,只能依托new对象存在,tomcat无法new出来对象,因此tomcat…

fiddler捕获HTTPS

打开软件查看请求会出现:HTTPS decryption is disabled. Click to configure,表示已经禁用https捕获,点击黄色警告可以进行https配置,也可以选择菜单栏tools>options进行配置 勾选Decrypt HTTPS traffic → 点开 Actions → 重…

【接上篇】二、Flask学习之CSS(下篇)

上篇&#xff1a;二、Flask学习之CSS 3.8hover hover是用来美化鼠标悬停的效果的&#xff0c;当鼠标停放在某个区域&#xff0c;就会执行对应的hover操作。可以操作本标签的内容&#xff0c;也可以操作本标签下某一个标签的内容 3.9after <!DOCTYPE html> <html l…

【极问系列】springBoot集成elasticsearch出现Unable to parse response body for Response

【极问系列】 springBoot集成elasticsearch出现Unable to parse response body for Response 如何解决&#xff1f; 一.问题 #springboot集成elasticsearch组件,进行增删改操作的时候报异常Unable to parse response body for Response{requestLineDELETE /aurora-20240120/…