必须了解的正则表达式

Linux系统中常用正则表达式详解

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑,主要通过正则匹配来获取我们想要的特定部分。

要想真正的用好正则表达式,必须要理解以下元字符:

字符 描述
\ 转译字符:将将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符
\n 换行符
\r 回车符
( ) 标记一个子表达式的开始和结束位置,供以后使用
^ 匹配行首
$ 匹配尾行
* 匹配尾行
匹配0次或者一次
I 匹配0次或者一次
\w 匹配包括下划线的任何单词字符
\W 匹配任何非单词字符
. 匹配除换行符的任意单字符(点)
{n} 匹配 n 次,例如,‘o{2}’ 不能匹配 “dog”,但能匹配 “good”
{n,} 最少匹配 n 次,例如,‘o{2}’ 不能匹配 “dog”,但能匹配 “gooooood”
{n} 最少匹配n 次,最多m次
[xyz] 字符集合,匹配所含的任一字符
[^xyz] 字符集合,匹配未包含的任一字符
[a-z] 字符范围,匹配范围内任意字符,小写字符
[^a-z] 字符范围,匹配不在指定范围内任意字符,除小写字符

正则表达式使用程度非常广泛,命令行以及环境都会有他的影子,数量使用会尽可能的提高工作效率,节约宝贵时间。

  • 从test.txt文本文件中查找已a开头,中间一个字符,已b结尾的指定文件的行

     grep a.b test.txt 
    

其中 "| . | * | ^ | $ | " 这四个字符所有语言都支持,所以这四个是基础的正则表达式。

以下可帮助加深理解记忆:

  • [A-Z] 26个大写字母
  • [a-z] 26个小写字母
  • [0-9] 0至9数字
  • [A,B,C,D] 包含A或B或C或D字母
  • [a,b,c,d] 包含a或h或t或w字母
  • [0,2,4,6] 包含0或2或4或6数字

当你发现自己的才华撑不起野心时,就请安静下来学习吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章