Shell正则表达式

目录

1.正则表达式

[1.1 正则表达式概述](#1.1 正则表达式概述)

[1.2 常用选项](#1.2 常用选项)

[1 基础正则表达式](#1 基础正则表达式)

[2 扩展元字符](#2 扩展元字符)


1.正则表达式

1.1 正则表达式概述

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

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

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

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

注意:linux命令行的常用通配符有* ? ...:匹配文件或目录名;正则表达式:用来匹配文件内容,.\\n表示匹配所有字符.

通配符:作用范围 匹配文件/目录名

正则表达式:作用范围 匹配文件内容

基础正则表达式常见元字符有:(支持的工具:grep、egrep、sed、 awk )

1.2 常用选项

1 基础正则表达式

(支持的工具:grep、egrep、sed、awk)

复制代码
. 代表除了\n意外的任意字符
复制代码
* 匹配*前面的字符或表达式任意次数(包括0次 1次 或多次)

.* 匹配任意字符大于等于0次
复制代码
[xxx]匹配中括号里的列表中的任意一个字符

[xxx]*匹配中括号里的列表中任意字符大于等于0次
复制代码
[^xxx]匹配除了中括号里的列表中的任意一个字符
[^0-9]匹配所有非数字的字符 
[^a-zA-Z]匹配所有非大小写字母的字符
复制代码
\{n\}匹配{n}前面的字符或表达式 n 次;grep必须加\;egrep不用加\.
复制代码
\{n,\}匹配{n}前面的字符或表达式至少 n 次(>=n次)

\{n,m\} 匹配{n}前面的字符或表达式 n至m 次(大于等于n次且小于等于m次)

grep必须加\;egrep不用加\.

使用egrep不用加反斜杠;egrep等于grep -E

复制代码
\w :匹配包括下划线的任何单词字符。

\W :匹配任何非单词字符。等价于"[^A-Za-z0-9_]"。

grep需搭配-P使用
复制代码
\d :匹配一个数字字符。

\D :匹配一个非数字字符。等价于 [^0-9]。		

grep需搭配-P使用
复制代码
\s :空白符。

\S :非空白符

grep需搭配-P使用

2 扩展元字符

(支持的工具:egrep、awk)grep -E sed -r

复制代码
+ 匹配+前面的字符或表达式至少1次(大于等于1次{1,})
复制代码
? 匹配?前面的字符或表达式0次或1次({0,1})
复制代码
()  将()里面的表达式作为一个整体 
复制代码
| 以或的方式匹配字符串
相关推荐
Patrick在香港2 天前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
echome8882 天前
Python 正则表达式:5 个日常够用的模式
python·正则表达式
yivifu4 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员4 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu10 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L11 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆67512 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0313 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦17 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算