linux学习笔记——正则表达式

来源:互联网 发布:删失数据怎么处理 编辑:程序博客网 时间:2024/05/29 04:01
re-usage ——447


正则表达式,通常写作regex或者re,是一种指定字符串模式的简洁方式。


使用语法:


元字符(基本匹配) 含义
----------------------------------------------------------------
. 除新行字符外,匹配任意的单个字符
^ 锚:匹配行的开头
$ 锚:匹配行的末尾
\< 锚:匹配单词的开头
\> 锚:匹配单词的末尾
[list] 字符类:匹配list中的任何字符
[^list] 字符类:匹配不再list中的任何字符
() 组:视为一个单独的单元
| 交变:匹配选择之一
\ 引用:从字面上解释元字符


重复运算符 含义
--------------------------------------------------------------
* 匹配0次或多次
+ 匹配1次或多次
? 匹配0次或1次
{n} 限定:匹配n次
{n,} 限定:最少匹配n次
{0,m} 限定:最多匹配m次
{,m} 限定:最多匹配m次
{n,m} 限定:最少匹配n次,最多匹配m次


预定义字符类 含义 类似于
------------------------------------------------------------
[:lower:] 小写字母a-z
[:upper:] 大写字母A-Z
[:alpha:] 字母 A-Za-z
[:alnum:] 字母、数字A-Za-z0-9
[:digit:] 数字 0-9
[:punct:] 标点符号——
[:blank:] 空格或制表符(空白符)——
注意:预定义字符的方括号是名称的一部分


以上是拓展正则表达式:ERE


对于基本正则表达式BRE,不能使用的元字符有问号、加号和竖线:? + |
必须转义的元字符有花括号和圆括号:{} ()


拓展正则表达式 基本正则表达式含义
{} \{\} 定义一个限定(花括号)
() \(\) 定义一个组(圆括号)
? \{0,1\} 匹配0次或1次
+ \{1,\} 匹配1次或多次
| —— 交变:匹配选项中的一个
[:name:] —— 预定义字符类