linux(十一) 正则

2016-09-22  本文已影响18人  alonwang

基础正则表达式字符汇整

RE字符 意义
^word 以word开头,grep '^word' regular_expression.txt
word$ 以word结尾,grep 'word$' regular_expression.txt
. 一定有一个任意字符.grep 'e.e' regular_expression.txt
跳脱字符
* 重复任意个前面的RE字符.grep 'ess*' regular_expression.txt
[list] 能且只能匹配list中的一个字符,grep 'g[ld]' regular_expression.txt
[n1-n2] 匹配n1到n2这个字符序列.grep [A-Z] regular_expression.txt
[^list] 反向选择,匹配不包含list中任意一个字符的行.grep [^A-Z] regular_expression.txt
{n,m} 前一个RE字符重复n-m次.grep 'go\{2,3\}g' regular_expression.txt

延伸型正则表达式

去除注释行和空行

egrep -v '^$|^#' regular_expression.txt

如果使用基础正则表达式

  //去除空行和注释行其中起关键作用的是双引号中的`|`,在这里它表示`or`.
  grep -v '^$' regular_expression.txt | grep -v '^#' regular_expression.txt

如果是空白行,只有$,这样使用^$表示第一个字符是$.也就是查找空白行了

注意,!>在正则表达式中并不是特殊字符.

特殊符号 代表意义
[:alnum:] 代表任何大小写字符及数字,0-9,a-z,A-Z
[:alpha:] 代表任何英文大小写字符,a-z,A-Z
[:blank:] 代表[Space]键和[Tab]键两者(即空白字符)
[:cntrl:] 代表键盘上的控制按键,包括CR,LF,Tab,Del...
[:digit:] 代表数字,0-9
[:graph:] 除了空白字符外的其它的所有按键
[:lower:] 代表小写字符,a-z
[:print:] 任何能被打印出的字符
[:punct:] 标点符号
[:upper:] 大写字符,A-Z
[:space:] 任何会产生空白的字符,[Space],[Tab],CR
[:xdigit:] 16进制的数字类型,0-9,A-F,a-f
上一篇 下一篇

猜你喜欢

热点阅读