linux学习之正则表达式

原创 2016年08月30日 22:31:23

正则表达式在工作中经常用到。正在表达式是对字符串进行处理的工具。java,javascript,linux,ptyhon,都能看见其身影。

在这里做一个小小的总结。


一.正则表达式的认识

^:   ^word  匹配所有以word开头的字符串 开始的意思。

$:   word$ 匹配所有以word结尾的字符串 结束的意思。

^$  两个连着用 匹配以结束为开头的所有串。只有空行能够匹配。


. :   点代表匹配任意一个且只有一个字符。

* :  星号代表匹配前面0个或多个字符,空字符也能匹配。

\ :  反斜线是转义正则表达式里特殊字符的意思

.*:  经常看见两个组合起来使用。是表示任意一个字符可以出现0次或多次。意思就是匹配任意的字符串(包括空字符串)


{n,m}: word{1,4} 表示work出现次数 >= 1 且 <= 4, 至少出现一次。之多出现4次 这样的串。 


二.正则表达式的使用

使用正则表达式对工作非常有帮助。以获取ip地址为例

1.获取IP地址:ifconfig eth0

2.获取IP地址所在行: ifconfig eth0 | grep 'inet addr:'
3.去除IP地址前面内容:ifconfig eth0 | grep 'inet addr:'|sed 's#^.*r:##g'
4.去除IP地址后面内容:ifconfig eth0 | grep 'inet addr:'|sed 's#^.*r:##g'|sed 's#Bc.*$##g'
5.去除IP地址中的空格:ifconfig eth0 | grep 'inet addr:'|sed 's#^.*r:##g'|sed 's#  Bc.*$##g'

也可以采用ifconfig eth0 | sed -n 's#^.*addr:\(.*\)  Bc.*$#\1#gp' 直接完成。

总结
使用sed -n 参数去掉sed默认输出格式。’sgp‘p的意思是使用指定的输出格式。sed -n "s###gp"
采用 ^.*XXXX这个种固定格式来匹配头内容。
使用XXXX.*$来匹配尾内容。中间要匹配的内容用















版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Unix/Linux正则表达式学习

  • 2013-08-03 23:46
  • 2.37MB
  • 下载

Linux学习-shell利用正则表达式验证邮箱合法性

引文:在今天这个时代,Email已经成为一种重要的通信方式。给导师发邮件,学术研究之间的交流,etc。常常用到Email,然而Email的验证却有点小难度,下面给出一个在Linux下使用shell脚本...

Linux学习笔记(12)——正则表达式

1.    1) 进阶grep a)  grep在数据中查询字符串时,是以整行为单位进行数据的撷取。 b)  可以使用--color=auto来将关键字部分用颜色显示,为了提高效率,可以修改~/.ba...

linux下正则表达式学习

符号 意义 * 0个或多个在*字符之前的那个普通字符 . 匹配任意字符 ^ 匹配行首,或后面字符的非 $ 匹配行尾 [] 匹配字符集合 ...

【Linux学习笔记九】Shell编程-正则表达式

1、定义 :模式,对正在查找的文本的描述 POSIX库和PCRE均可以用于正则表达式编程。前者是Linux自带库,后者为Perl的库,功能更强大一些,也更难掌握。 2、字符集和单词 ...

Linux学习之十grep及正则表达式(grep)

一、文本查找的需要: grep,egrep,fgrep     1、grep:根据模式搜索文本,并将符合模式的文本行显示出来         Pattern(模式):文本字符和正则表达式的元字符...

Linux学习日记--基础命令(6)--grep及正则表达式

grep: Global search REgular expression and Print out the line.         作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行...

轻松学习之Linux教程六 正则表达式详解

正则表达式是一些特殊字符的排列,用以查找、替换、删除一些或多行文字字符串,简单的说,正则表达式就是用在字符串的处理上面的一项“表达式”使用它真的很方便,所以好好学习吧,真的很有用呢。

学习 Linux,101: 使用正则表达式搜索文本文件

学习 Linux,101: 使用正则表达式搜索文本文件 在大海里捞针 了解如何使用正则表达式,如何使用它们在文件系统中查找所需内容。本文提供的材料可以帮助您准备 Linux® 系统管理员认证...
  • JIESA
  • JIESA
  • 2016-01-26 17:07
  • 529
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)