首页 > 其他 > 详细

正则表达式

时间:2016-03-14 16:52:54      阅读:214      评论:0      收藏:0      [点我收藏+]

grep:根据模式搜索文本,并将符合模式的文本行显示出来

Pattern:文本字符和正则表达式的元字符组合而成的匹配条件

grep

     -i 忽略大小写

     --color 匹配到的字符串颜色显示

     -v 显示没有被匹配的行

     -o 只显示被匹配模式匹配到的字符串

     -E 支持扩展正则表达式

     -A #显示被匹配到的行的后N行

     -B #显示被匹配到的行的前N行

     -C #显示被匹配到的行的前后N行

正则表达式:REGEXP(REGular EXPression)

 默认工作在贪婪模式下,尽可能长的匹配

元字符:

     . 匹配任意单个字符 

 字符集合:[:digit:]任何数字 [:lower:]小写字母 [:upper:]大写字母  [:punct:]标点符号 [:space:]空格 [:alpha:]任何字母                        [alnum:] 任何字母和数字

    * 匹配其前面的字符任意次 .* 任意长度的任意字符

    ? 匹配起前面的字符一次或零次

    {m,n} 匹配其前字符至少m次最多n次,grep下要加\,避免被shell解析,或者直接使用egrep。一个数字,{x}的意思是"前面的字符或字符簇只出现x次";一个数字加逗号,{x,}的意思是"前面的内容出现x或更多的次数";两个用逗号分隔的数字,{x,y}表示"前面的内容至少出现x次,但不超过y次

位置锚定:

     ^ 锚定行首

     $ 锚定行尾

    ^$ 空白行

    \< 锚定词首,其后面的任意字符必须作为单词首部出现 \b

    \> 锚定词尾,其前面的任意字符必须作为单词的尾部出现 \b

分组

      () \NUM 括号中的内容作为在此引用   后向引用

例如:

      He love his lover.

      She like her liker.

      He like his lover.

      She love her liker.

     grep "\(l..e\).*\1" test.txt

扩展正则表达式

    .

    *

    + 其前字符至少1次

    ?

    []

    {m,n}

    (  )

    \<

    \>

| :表示 or或者    匹配前后整个字符 例如:C|cat    (C|c)at

IPV4:

A:1-127

B:128-191

C:192-223

D:

E:


fgrep : 不支持正则表达式,只能查找固定的文本,速度快于grep


本文出自 “Doove” 博客,请务必保留此出处http://doove.blog.51cto.com/1100940/1750813

正则表达式

原文:http://doove.blog.51cto.com/1100940/1750813

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!