注:本文内容为摘自Mastering regular expressions(《精通正则表达式》)的笔记。
1. 正则表达式是一种通用的模式语言(generalized pattern language),是强大的文本处理工具。
2. 在正则表达式中,特殊字符(special characters)称为元字符(metacharacters),其他为文字(literal)或普通文本字符(normal text characters)。正则表达式为高级应用提供了丰富而且描述力极强的元字符。
3.检索文本文件:Egrep(searching text file)—— 会尝试用正则表达式来匹配每个文件的每一行,并显示能够匹配的行。注意,在linux中,Egrep为grep -E且由于shell也有本身的元字符,所以在正则表达式中最好加上单引号,但单引号不是正则表达式所必需的。
4.Egrep元字符:
***行的起始和结束(start and end of the line):^ (脱字符),$(美元字符)匹配的是一个位置而不是具体的文本。e.g. ^cat匹配的是以c作为一行的第一个字符,紧接一个a,紧接一个t的文本。
***字符组(character classes):【....】匹配若干字符之一,也叫正则表达式结构体(construct),在字符组内部,元字符的定义规则是不一样的(-)。 e.g.【Ss】mith。
***用点号匹配任意字符(matching any characters with dot):.。
***多选结构(alternation):|。 e.g.(Fir|1)st street。
***忽略大小写(ignoring differences in capitalization):-i。
***单词分界符(word boundries):元字符序列(metasequences)\<,\>,准确的说是字母数字符号的开始和结束。