shell中的正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中的正则表达式相关的知识,希望对你有一定的参考价值。
正则表达式(regular express)规则的表达式,它是用一些预先规定好意义的符号来表示具有相同特征的数据,几乎各种编程语言都用到了正则表达式(简称正则)而且在不同的编程语言中正则都是通用的。
正则分标准正则、扩展正则,扩展正则在基本正则上做了一定的修改和扩充更加简单灵活,少部分部分地方只支持标准正则。所以我门在写正则的时候优先考虑扩展正则如果不支持再考虑标准正则。
标准正则
[ ] 两个中括号表示集合,写在集合中的所有参数必须有且只有一个则匹配 ,连续的字符可以用-连接例如[a-z]表示任意一个小写字母[A-Z]任意一个大写字母[0-9]任意一个数字
. 点表示任意一个字符,字母、数字、特殊符号都匹配
^尖角号表示以什么开头后面接匹配一个的规则表示以该规则开头例如^[a-z] 表示以小写字母开头。如果^在[^]里面表示取反的意思, 例如[^a-z]表示不是以小写字母开头不能单独使用
$美元符号表示以什么结尾,以前面一个规则结尾例如[a-z]$表示以小写字母结尾^$表示空行
\{n,m\}表示前面的一个规则匹配次数 n是最少次数m为最多次数 \{n,\} m不写表示大于等于n次\{n\} ,和m都不写表示精确的匹配n次 不能单独使用
* 星号表示匹配前面的规则0次及以上 ,不能单独使用,例如[0-9][0-9]*表示匹配正整数
\(\) 括号表示把括号里的规则整合成一个整体,在将其保留在一个临时区域后面可以根据括号的位置用\n来引用,例如(a)b\1 表示aba (ad)b(c)\1\2 表示adbcadc
扩展正则待续。。。。。。。
以上是关于shell中的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章