Linux-正则表达式 学习笔记(一)

来源:互联网 发布:淘宝女包店 我爱你店 编辑:程序博客网 时间:2024/05/21 08:00

今天博主学到linux的正则表达式,今天分享下学习经历。

什么是正则表达式?

在linux中有很多操作都需要配合正则表达式来处理。

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

举个栗子:

         假设你发现系统在开机的时候,经常会出现一个关于mail程序的错误,而开机过程的相关程序都是在/etc/init.d/下面,也就是说,子啊该目录下面的某个文件具有mail这个关键字,你想要将改文件选出来进行查询修改的错做。你如果一个一个去打开,要是有100个,是不是会很烦,想死的心估计都有了。那么这个时候就可以用到正则表达式了,我们只需要输入:gerp’mail’/etc/init/d/*,那这个grep就是支持正则表达式的工具程序之一。

 

正则表达式的用途

由于正则表达强大的字符串处理能力,目前一堆软件都支持正则表达式。最常见的就是“邮件服务器”。目前造成网络阻塞的一打原因就是垃圾邮件,而如果我们可以在服务器端就将这些问题邮件删除的话,客户端就会减少很多不必要的带宽损耗了。这个时候就可以使用我们的正则表达式。

 

这个怎么学

红红火火恍恍惚惚,这个就是要背啊,就像你小学背九九乘法表一样的,也要一样的滚瓜烂熟。

 

语系对正则表达式的影响

举个栗子:

1、  LANG=C时:0 1 2 3 4 5…A B C D…Z a b c d…z

2、  LANG=zh_CN是:0 1 2 3 4 5…a A b B c C d D…z Z

上面的编码顺序我们看着就很不一样,所以,使用正则表达式时,一定要特别留意当时环境的语系是什么,否则可能会发现与别人不相同的选取结果。

特殊符号

代表意义

[:alnum:]

代表英文大小写字符及数字,及0-9,A-Z,a-z

[:alpha:]

代表任何应为大小写字符,及A-Z,a-z

[:blank:]

代表空格与[Tab]按键

[:cntrl:]

代表键盘上的控制按键,即包括CR,LF,Tab,Del等

[:digit:]

代表数字而已,即0-9

[:gerph:]

除了空格与Tab的其他按键

[:lower:]

代表小写字符,即a-z

[:print:]

代表任何可以被打印出来的字符

[:punct:]

代表标点乳,即?”!;.,#$

[:upper:]

代表大写字符,即A-Z

[:space:]

任何会产生空白的字符,包括空格键[Tab]CR等

[:xdigit:]

代表是十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符

 

[:alnum:] [:alpha:] [:digit:] [:lower:] [:upper:]这几个比较重要,我已经加粗了,因为它们的用途更加方便。
原创粉丝点击