Linux的正则表达式

正则表达式

以行,为单位进行字符处理行为。对字符串进行搜索,删除,替代等操作。

正则表达式与bash环境下的通配符是不同的概念。

 

对编码无关的正则表达式符号

[:alnum:]代表英文大小写字符及数字,亦即0-9,A-Z,a-z
[:alpha:]代表任何英文大小写字符,亦即A-Z,a-z
[:digit:]代表数字,亦即0-9
[:lower:]代表小写字符,亦即a-z
[:upper:]代表大写字符,亦即A-Z
[:xdigit:]代表16进制数字,亦即0-9,A-F,a-f
[:blank:]代表空格和tab
[:space:]任何会产生空白的字符,包括空格,Tab,CR等
[:punct:]代表标点符号,亦即"'?!;:#$
[:cntrl:]代表控制字符,包括CR,LF,Tab,Del
[:graph:]除了空格和Tab以外的其他字符
[:print:]任何可以被打印出来的字符

 

基本正则表达式特殊字符含义

^string搜索以字符串string为行首的行
string$

搜索以字符串string为行尾的行

grep '^$' text.txt   表示空行

.(点号)有且只有一个任意字符
char*

零个或多个的char字符

‘.*’   表示零个或多个任意字符

\转义字符
[list]有且只有一个在括号内所列出的字符
[n1-n2]

有且只有一个在括号内所指定的范围的字符

与编码格式相关

[^list]

[^n1-n2]

^在中括号内,表示反向选择

char\{n\}

char\{n,\}

char\{n,m\}

连续n个char字符     {}需要转义

连续n个以上char字符

连续n到m个的char字符

 

延伸型正则表达式特殊字符含义

 char+ 一个或多个char字符
 char? 零个或一个char字符
 string1|string2 或(or),string1和string2任一个符合条件
 (string1|string2) 括号内的代表一个字符串单位
 (string)+ string有多个重复

 

支持正则表达式的常用命令

grep从stdin或文件搜索符合条件的行
sed从stdin或文件,对文本进行各种操作
vim文本编辑器

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值