前几天,看一些文档的时候,看到了对字符操作的一种表示方法,那就是正规表示法,翻看百科中对正规表示法的概述有下面一段文字的描述。
正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。
显然,我们所说的正规表示法就是处理字符的一种表示方法,另外我又在另一本书上看到了一些相关的语句介绍,就是针对常见的那些正规表示法的总结。
比如grep,就是最简单的字符串摘取程序,基于此,下面记录下几个要知道的特殊符号:
[:alnum:] 代表英文大小写,亦即 0-9 a-z A-Z
[:alpha:] 代表任何英文字符及数据,亦即 a-z A-Z
[:upper:] 代表大写字符
[:lower:] 代表小写字符
[:digit:] 代表数字
[:xdigit:] 代表16进制的数字类型,因此包括 0-9 a-f A-F
grep在数据中查询一个字符串的时候是以正行为单位进行数据的摘取的,grep -n -Ax -By --color=auto ‘字符串‘ file
n为显示行号,-Ax代表显示将要查找字符的后X行, -By 代表显示将要查找的字符的前y行, --color=auto 表示将关键词部分用颜色标注, 接下来的是将要查找的字符串和将要查找的文件。
这里面需要注意的是通常的情况下,在我们的用户目录下面.bashrc中已经加入了--color=auto 所以经常的情况下,我们在使用grep 的时候,我们不用再加上这一句的限制了。
还有对符号 ^ 该符号在字符集合符号[]之内之外是不同的,在[]内代表反向的选择,在[]之外则代表定位在首行的意义,这个我们需要稍微的注意以下的.
附上两个简单的例子,以供再次回味的时候更快的理解:
grep -n ‘^the‘ file 找出文件中以the开头的行。
grep -n ‘^$‘ file 找出文件中的空行。