浅析正则表达式

 更新时间:2013年09月22日 22:25:08   作者:  
所谓的正则表达式,就是用一类元字符(不表示本身意义,而表示统配或其他意义),组合其他字符所编数出来的,能够匹配符合条件的字符

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

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

基本正则表达式:

  ^        锚定行首的符合条件的内容
  $        锚定行尾的符合条件的内容
  ^$       表示空白行
  .        匹配任意单个字符
  *        匹配进挨在其前面的字符任意次
  .*       匹配任意长度的任意字符
  []       匹配指定范围内的任意字符
  [^]      匹配指定范围外的任意字符
  \?       匹配紧挨在其前面的字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 “\<admin\>” /etc/passwd
10,匹配自少出现一次ad,最多出现3次ad的行
     grep “\(ab\)\{1,3\}” /etc/passwd

相关文章

  • 实用正则表达式匹配和替换大全

    实用正则表达式匹配和替换大全

    正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。而且各种语言都支持,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • ES9的新特性之正则表达式RegExp详解

    ES9的新特性之正则表达式RegExp详解

    这篇文章主要介绍了ES9的新特性之正则表达式RegExp详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 正则表达式链接替换函数的技巧

    正则表达式链接替换函数的技巧

    这篇文章给大家介绍正则表达式链接替换函数的技巧,涉及到正则表达式替换相关知识,对正则表达式链接替换函数的技巧感兴趣的朋友一起学习吧
    2015-11-11
  • 正则表达式教程之前后查找lookaround详解

    正则表达式教程之前后查找lookaround详解

    这篇文章主要介绍了正则表达式教程之前后查找lookaround,结合具体问题分析了向前查找及向后查找功能的实现技巧与注意事项,需要的朋友可以参考下
    2017-01-01
  • PHP匹配多行的正则表达式分析

    PHP匹配多行的正则表达式分析

    PHP匹配多行的正则表达式分析,需要的朋友可以参考下,多用于采集替换等。
    2011-07-07
  • 正则 捕获组(capture group)

    正则 捕获组(capture group)

    捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或手动命名的组里,方便后面引用
    2009-07-07
  • js 正则使用方法

    js 正则使用方法

    可以匹配指定格式的字符串
    2008-12-12
  • 正则表达式之文本模式的匹配和查找

    正则表达式之文本模式的匹配和查找

    这篇文章主要介绍了正则表达式之文本模式的匹配和查找操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 正则表达式匹配 非XXX的行

    正则表达式匹配 非XXX的行

    问题:如何匹配"非:.+123.123.123.10.+ " 行
    2008-07-07
  • JavaScript 正则表达式使用详细参数

    JavaScript 正则表达式使用详细参数

    正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹 配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。
    2008-03-03

最新评论