龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

linux学习日记九 正则表达式介绍

时间:2014-05-28 15:10来源:网络整理 作者:网络 点击:
分享到:
这系列文章主要是一刀写的linux相关学习资料,这篇文章主要介绍了linux下的正则表达式的相关知识,需要的朋友可以参考下

正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。

正则表达式基本上就是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以利用正则表达式处理字符串。例如vi,grep,awk,sed等。

正则表达式和之前的bash通配符是两个完全不同的东西,两者毫无关系,这个要注意下。

# grep [-A]  [-B]  [--color=auto] ‘string’  filename

-A:后面加数字,为after的意思,除了列出该行,后续的n行也列出

-B:before的意思,不解释

# dmesg | grep -n -A3 -B2 –color=auto ‘eth’ <== 内核信息

====几个基本的正则式特殊符号====

特殊符号 代表意义
[:alnum:] 代表英文大小写字符以及数字,亦即 0-9, A-Z, a-z
[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
[:blank:] 代表空白键与 [Tab] 按键两者
[:cntrl:] 代表键盘上面的控制按鍵,亦即包括 CR, LF, Tab, Del.. 等等
[:digit:] 代表数字而已,亦即 0-9
[:graph:] 除了空白字元 (空白键与 [Tab] 按鍵) 外的其他所有按鍵
[:lower:] 代表小写字元,亦即 a-z
[:print:] 代表任何可以被列印出來的字元
[:punct:] 代表标点符号 (punctuation symbol),亦即:” ‘ ? ! ; : # $…
[:upper:] 代表大写字元,亦即 A-Z
[:space:] 任何会产生空白的字元,包括空白鍵, [Tab], CR 等等
[:xdigit:] 代表 16 进制的数字类型,因此包括: 0-9, A-F, a-f 的数字与字符

====基础正则式====

RE 字符 意义与范例
^word 意义:待搜寻的字串(word)在行首!
范例:搜寻行首为 # 开始的那一行,并列出行号

grep -n ‘^#’ regular_express.txt

word$ 意义:待搜寻的字串(word)在行尾!
范例:将行尾为 ! 的那一行列印出來,并列出行号

精彩图集

赞助商链接