设为首页 加入收藏

TOP

Shell编程之正则表达式
2015-08-31 21:25:15 来源: 作者: 【 】 浏览:38
Tags:Shell 编程 正则 表达式

  什么是正则表达式?正则表达式是用于描述字符排列和匹配模式的一种语法规则。在很多程序设计语言中都支持利用正则表达式来进行字符串的操作,不同语言中的正则表达式略有不同,但是毕竟都是正则,其本质思想都是一致的,当我们掌握了shell中的正则后,再去看python或者perl里面的正则表达式时,会发现其实都是一样的东东。


  在shell的一些命令中,有些并不支持正则表达式,但是它们支持Linux里面的通配符,那么通配符又是什么东东呢,它跟正则表达式又有什么关系?


  正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令都支持正则表达式。通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。


  通配符主要是下面三个:


?


?


?


  首先,正则表达式是用来匹配文件中文本的字符串,而通配符是用来匹配符合条件的文件名;其次正则表达式是包含匹配,只要包含正则中的字符串,就匹配,而通配符是完全匹配,也就是说,必须要与条件中的字符串一模一样才会匹配。?


  说了这么多,其实正则表达式主要用于字符串的模式分割匹配查找替换操作,下面来关注一下正则表达式基本的元字符和它的作用。?


?


  下面举几个个简单的列子:


  (1)匹配日期格式YYYY-MM-DD     "[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}"?
  (2)匹配IP地址XXX.XXX.XXX  ?   ?"[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"?


  (3)匹配腾讯QQ号码          ?"[1-9][0-9]\{4,9\}"


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言头文件中定义全局变量的问题 下一篇深入理解C语言

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: