且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

学习笔记-5.1.正则表达式1

更新时间:2022-06-05 13:14:15

REGEXP

Pattern:


正则表达式:

   Basic REGEXP:基本

   EXtended  REGEXP:扩展


基本正则表达式:

  .:

  []:

  [^]:

  

  次数匹配;

  *:

  \?:0或1次

  \{m,n\}:至少m次,至多n次


  .*:

 锚定:

 ^:

 $:

 \<,\b

 \>,\b

 \(\)

 \1

 \2

 \3 ...


grep :使用基本正则表达式定义的模式来过滤文本的命令

  -i

  -v

  -o

  --color

  -E:使用扩展的正则表达式

  -A #: after

  -B #: before

  -C #: contex

cat -A 2 '^core id' /proc/cpuinfo 显示本行和下面的2行

扩展正则表达式

字符匹配:

.

[]

[^]


次数匹配

*

?

+ 匹配其前面的字符至少1次

{m,n} 不需要反斜线


位置锚定:

^

$

\<

\>


分组:

() :分组 不需要反斜线,真正实现分组

\1 \2 \3 ...


或者

| or  a|b

C|cat: C或者cat

(C|c)at:Cat或者cat


grep --color -E '^[[:space:]]+' /boot/grub/grub.conf

   至少有一个空格开头的行


grep -E = egrep  


找出/boot/grub/grub.conf文件中1-255之间的数字

\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>

必须加括号,\<只锚定挨着一个数的词首

\.找点本身

egrep (\<([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}

       \<([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>


IPv4:

5类:A B C D E

A:1-127

B:128-191

C:192-223


\<(1-9)|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3]\>(\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>)


grep egrep 

fgrep:fast 不支持正则表达式




















本文转自飞行萌51CTO博客,原文链接:http://blog.51cto.com/8527508/1940556 ,如需转载请自行联系原作者