Egrep元字符——检索
1.行的起始^和结束$
2.字符组
匹配若干字符之一[···],字符组元字符与元字符的区别(字符组开头的^和不在字符组开头的-)
排除型字符组[^···]表示非
3.元字符.匹配任意字符
4.多选结构:元字符|匹配任意子表达式,用()划定多选结构的范围,默认贪婪
5.egrep命令行参数-i写在正则表达式之前来忽略大小写
6.元字符序列\<和\>表示单词的起始和单词的结束(并非所有版本的egrep都支持),具体见图1-2
7.量词:元字符?表示紧邻的前一元素出现零或一次,元字符+表示紧邻的前一元素至少出现一次,元字符*表示紧邻的前一元素至少出现零次,使用()来限定范围,默认一个元素。备注:一个字符组也是一个元素;某些版本的egrep可以使用{min,max}跟在元字符序列后自义重现次数,于是{0,1}可替代?使用
8.括号及反向引用:括号除了可以限制多选项的范围,在某些版本的egrep中还可以“记住”它们包含的子表达式匹配的文本,然后按顺序使用\1 ,\2,\3等来重复引用
9.元字符前加反斜线\实现转义,在字符组内部无效;如果\后紧跟的不是元字符,\的意义依程序的版本而定
基础知识拓展
1.引号内的字符串(存疑,待看完后续章节整理)
2.美元金额(存疑,待看完后续章节整理)
3.要考虑正则匹配的贪婪性,要尽量在正则表达式中实现匹配对象的现实意义
摘录
要想在复杂性和完整性之间求得平衡,一个重要的因素是了解待搜索的文本。
学会如何以正则表达式的方式来思考问题……在面对属于不同流派的新工具时,需要注意哪些差异和特性……如果某个流派的功能弱小,特性简陋,该如何表达自己的意图……在复杂性、效率和匹配准确性间进行取舍权衡。
网友评论