正则表达式初版

一、简介

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.匹配真正的字符

相关推荐
超龄超能程序猿5 分钟前
实战优化:.NET 8 容器 Debian 源+时间同步企业级 Dockerfile
运维·debian·.net
运维全栈笔记3 小时前
Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
运维·服务器·vue.js·spring boot·笔记·开源·开源软件
专注API从业者8 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
爱喝水的鱼丶10 小时前
SAP-ABAP:ABAP 用户出口参数传递与上下文获取:SAP 标准数据读取与交互逻辑实现
运维·性能优化·交互·sap·abap·经验交流·出口
IT大白鼠10 小时前
PentestGPT作为AI运维编排工作流自动化底座的技术架构与应用价值评估
运维·人工智能·自动化·pentestgpt
M78佐菲10 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
ltl11 小时前
QUIC 协议拆解(上):为什么 TCP 改不动了
linux
j7~11 小时前
【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》
运维·git·git安装·git基本操作·git配置·创建git仓库·git reset三种模式
zzzll111111 小时前
n8n 工作流自动化平台入门指南
运维·自动化
Hrain-AI11 小时前
Anthropic oncall-kit 开源拆解:运维 Agent 落地范式的四基石与权限边界
运维·人工智能·开源