当前位置:  编程技术>其它

浅析正则表达式

    来源: 互联网  发布时间:2014-10-18

    本文导语:  所谓的正则表达式,就是用一类元字符(不表示本身意义,而表示统配或其他意义),组 合其他字符所编数出来的,能够匹配符合条件的字符。  正则表达式有基本正则表达式和扩展正则表达式两大类,  下面给大家介绍一下...

所谓的正则表达式,就是用一类元字符(不表示本身意义,而表示统配或其他意义),组

合其他字符所编数出来的,能够匹配符合条件的字符。
  正则表达式有基本正则表达式和扩展正则表达式两大类,
  下面给大家介绍一下基本正则表达式和扩展正则表达式的一些常用的字符,

基本正则表达式:

  ^        锚定行首的符合条件的内容
  $        锚定行尾的符合条件的内容
  ^$       表示空白行
  .        匹配任意单个字符
  *        匹配进挨在其前面的字符任意次
  .*       匹配任意长度的任意字符
  []       匹配指定范围内的任意字符
  [^]      匹配指定范围外的任意字符
  ?       匹配紧挨在其前面的字0次或1次
  {m,n}  匹配其前面的字符至少m次,至多n次
  {0,n}  匹配其前面的字符0-n次
  {m,}   匹配其前面的字符至少m次
  {m}    精确匹配m次
         锚定词尾
  ()     分组

grep的常用选项

  --color=auto   自动为匹配字符添加颜色
  -v             反向选取,只显示不符合模式的行
  -o             只显示被模式匹配但的字符串,而不是整个行
  -i             不区分字符大小写
  -A  n          显示匹配到的行时,顺便显示其后面的n个行
  -B  n          显示前面的n行
  -C  n          显示后面的n行
  -E             使用扩展的正则表达式    grep -E = egrep

扩展正则表达式(在这里至列出不同之处)

   ?            出现了0次或1次 正则表达式为?
   {m,n}         匹配前边字符最少m次,最多n次
   ()            分组,用法与grep类似
   a|b           二选一

1,锚定/etc/passwd文件中行首为root的行
     grep  “^root” /etc/passwd
2,锚定/etc/passwd文件行尾为sh的行
     grep “sh$” /etc/passwd
3,查找空白行
     grep “^$” /etc/passwd
4,匹配a后面跟了任意单个字符的行
     grep “a.” /etc/passwd
5,匹配a后面跟了任意长度字符的行
     grep “a*” /etc/passwd
4,匹配a后面跟了任意长度的任意字符,再跟上b的行
     grep “a.*b” /etc/passwd
5,匹配a后面跟了任意个一数字后又跟了任意一个字母的行
     grep “a[0-9][a-zA-Z]” /etc/passwd
6,匹配a后面跟了任意一个数字或字母的行
     grep “a[0-9a-zA-Z]” /etc/passwd
7,匹配0或1个a后面跟了个b的行
     grep “a?b” /etc/passwd
8,匹配最少一个a,最多3个a后面跟了一个b的行
     grep “a{1,3}b” /etc/passwd
9,锚定单词admin的行
     grep “” /etc/passwd
10,匹配自少出现一次ad,最多出现3次ad的行
     grep “(ab){1,3}” /etc/passwd


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jquery重复提交请求的原因浅析
  • 浅析删除表的几种方法(delete、drop、truncate)
  • 浅析Oracle中char和varchar2的区别
  • 浅析java中print和println的区别
  • 浅析java class 文件
  • 求教,linux内核代码关于网络部分的浅析
  • 浅析如何在tnsnames.ora中配置监听
  • 浅析ThinkPHP中execute和query方法的区别
  • 浅析C#的复制和克隆
  • 浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
  • 浅析MySQL之字符串函数
  • 浅析jquery的作用与优势
  • 浅析SQL server 临时表
  • 浅析c++ 宏 #val 在unicode下的使用
  • 浅析c#中如何在form的webbrowser控件中获得鼠标坐标
  • 浅析SQL语句中GROUP BY的用法
  • PHP强制下载文件方法浅析
  • 浅析打开eclipse出现Incompatible JVM的解决方法
  • 浅析SQL存储过程和事务处理
  • C#访问权限修饰符浅析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3