基础知识笔记之正则表达式

  



<强>



*:匹配其前面的字符任意次;0,1,多次

例如:grep“x * y”

,,abxy

,,偿

,,xxxxxy

,,yab

。*:匹配任意长度的任意字符

\ ?:匹配其前面的字符0次或1次者,即其前面的字符是可有可无的;

\ +:匹配其前面的字符1次或者多次;即其前面的字符至少要出现一次;

\ {m \}:匹配前面字符m次;

\ {m, n \}:匹配其前面的字符至少次,至多n次;

\ {0, n \}:至多匹配n次

\ {m \}:至少m次


^:行首锚定;用于模式的最左侧;

:美元行尾锚定;用于模式的最右侧;

$ ^词:用单词匹配整行

^ $:空白行

\ & lt;或者\ b:词首锚定,用于单词模式的左侧;

\祝辞或者\ b:词尾锚定,用于单词模式的右侧;

\ & lt;字\祝辞:精确匹配完整单词


<强>








<强>


<强>


<强>关于grep和egrep用法例子:

<强> grep:

格式:,grep [选项],pattern  filename 注意:,模式如果是表达式或者超过两个单词的,,   需要用引号引用只可以是单引号也可双引号,,区别是单引号无法引用变量而双引号可以。   grep ‘\ & lt;汤姆\祝辞,file ,,包含单词汤姆的行   grep  Tom 野蛮的,file 包含Tom 野蛮的行   grep ‘^汤米,file 包含以汤米开头的行   grep “\ . bak美元”,file 包含以. bak结束的行   grep “(Pp) yramid”, file 包含pyramid 或金字塔的单词的行   grep “[a - z]”, file 包含至少一个大写字母的行   grep “[0 - 9]”, file 包含至少一个数字的行   grep “[a - z]…[0 - 9]”, file 包含五个字符,以大写开的头,,和一个数字结尾的行。   grep  -w “在美国东部时间(tT)”, file 包含单词和测试的行。   grep  -s “ken 太阳”,file 找到包含ken 太阳的行,,但不打印行,,而是用来检查退出状态。   grep  -v  aaa  file 打印不包含aaa的行。   grep 小姐cathy  file 打印所有包含凯西的行,,而不考虑大小些。   grep  -l “dear 凯蒂”,*,打印包含dear 凯蒂的文件的文件名清单。   grep  -n  tom  file ,,打印匹配的行并追加行号。   grep “LOGNAME美元”,file 包含变量内容的行,,注意必须用双引号,,单引号则无法引用变量。   grep “美元的名字”,file 打印包含字符$ name的行。


<强> egrep:

egrep =, grep  -E 可以使用基本的正则表达外,,还可以用扩展表达式只注意区别。   扩展表达式:   +,匹配一个或者多个先前的字符,,至少一个先前字符。   ?,匹配0个或者多个先前字符。   a | | c 匹配a或b或c   (),字符组,,如:,爱(能力|人队),匹配可爱的或情人。   (. .)(. .)1 \ \ 2,模板匹配只\ 1代表前面第一个模板,,\ 2代第二个括弧里面的模板。   {m, n}, x=x \ {m, n \}, x的字符数量在m到n个之间。   egrep “^ +”, file ,,以一个或者多个空格开头的行。   grep “^ *”, file ,,同上   egrep ”(汤姆|丹),野蛮的,file 包含,TOM  SAVAGE 和DAN 野蛮的行。   egrep “(ab) +”, file 包含至少一个ab的行。   egrep “x [0 - 9] ?”, file 包含x或者x后面跟着0个或者多个数字的行。   egrep “有趣\。美元”,*,所有文件里面以乐趣。结尾的行。   egrep “[a - z] +”, file 至少包含一个大写字母的行。   egrep “[0 - 9]”, file 至少一个数字的行。   egrep “[a - z]…[0 - 9]”, file 有五个字符,,第一个式大写,,最后一个是数字的行。   egrep “在美国东部时间(tT)”, file 包含单词测试或测试的行。   egrep “ken 太阳”,file 包含ken 太阳的行。   egrep  -v “结婚”,file 不包含结婚的行。   egrep 小姐,“山姆”,file 不考虑山姆的大小写,含有山姆的行。   egrep  -l “dear 肯”,*,包含dear 肯的所有文件的清单。   egrep  -n  tom  file 包含汤姆的行,,每行前面追加行号。   美元egrep  -s “名称”,file 找到变量名命名的,美元,不打印而是显示退出状态只0表示找到只   1)表示表达式没找到符合要求的,2,表示文件没找到。

基础知识笔记之正则表达式