Qing

正则表达式-3.17
文本查找grep,egrep,fgrepgrepgrep : 根据模式,搜索文本,并将符合模式文本行显示出来.Pa...
扫描右侧二维码阅读全文
17
2019/08

正则表达式-3.17

文本查找

grep,egrep,fgrep

grep

grep : 根据模式,搜索文本,并将符合模式文本行显示出来.
Pattren: 文本字符和正则表达式的元字符组合而成匹配条件
用法: grep [选项]... PATTERN [FILE]...
选项:

-i 忽略字符大小写
-v 显示没有被模式匹配到的行,匹配到的不显示
-o 只显示被模式匹配到的串本身

1.png

-E:使用扩展正则表达式
-A:显示后面的两行

13.png

-B:显示前面的两行

14.png

-C:显示先后个两行

15.png

*

*:任意长度的任意字符

?

?:任意单个字符

[]

[]:指定范围内的任意单个字符

[^]

[^]:指定范围外的任意单个字符


字符集合:

字符集合:
[:digit:]---数字,[:lower: ]---小写字母,[:upper:]---大写字母,[:punct:]---标点符号
[:space:]---空白字符,[:alpha:]---所有字母,[:alnum:]---所有数字和字母


正则表达式

正则表达式: REGular EXPression,REGEX


元字符

元字符:

.

.:匹配任意单字符
2.png

匹配次数(贪婪模式)

匹配次数(贪婪模式):

*:匹配其前面的字符任意次

*:匹配其前面的字符任意次

ab,aab,acb,adb,amnb

a**b: 3.png

.*:任意长度的任意字符

.*:任意长度的任意字符

a.*b:4.png

?:匹配其前面的字符1次或0次

?:匹配其前面的字符1次或0次

a?b:5.png

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

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

a{1,3}b:6.png
a.{1,3}b:7.png

位置锚定

位置锚定:

^:锚定行首

^:锚定行首,此字符后面的任意内容必须出现在行首
8.png

$:锚定行尾

$:锚定行尾,此字符前面的任意内容必须出现在行尾
9.png

^$:空白行

^$:空白行

<或b

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

>b

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

This is root.
The user is mroot.
Rooter is a dog’s name.
chroot is a command.
Mrooter is not a word.

<root>---精确匹配
10.png

<root---出现在词首
11.png

root>---出现在词尾
12.png

分组

分组;
\(\)

()内是一个整体,主要为了实现在后面继续引用前面被匹配到的内容
也成为后向引用
后面可以使用一个字符再次引用它
\1:第一个左括号以及与之对应的右括号所包括的所    有内容
\2:
\3:    

He love his lover.
She like her liker.
He like his lover

\(l..e\).*\1
16.png


扩展正则表达式

扩展正则表达式:

字符匹配

字符匹配:
.
[]
[^]

次数匹配

次数匹配:
*:
?:
+:匹配其前面的字符至少1次
{m,n}

位置锁定

位置锁定:
^
$
<
>

分组

分组
1,2,3,…
或者
|:或者的意思

17.png

至少一个空白字符开头的行
18.png

*

最后修改:2019 年 08 月 21 日 09 : 27 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论

4 条评论

  1. Qing

    因为民族运动会放假一星期,继续学习哈哈!

  2. Lazy

    1. Qing
  3. Qing