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

*

之前word文档丢了,又用npp写了一份文字笔记:confused:,太难了
文本查找
grep,egrep,fgrep
grep : 根据模式,搜索文本,并将符合模式文本行显示出来.
Pattren: 文本字符和正则表达式的元字符组合而成匹配条件
用法: grep [选项]... PATTERN [FILE]...
选项:
    -i 忽略字符大小写
    -v 显示没有被模式匹配到的行,匹配到的不显示
    -o 只显示被模式匹配到的串本身
 
    -E:使用扩展正则表达式
    -A:显示后面的两行
 
    -B:显示前面的两行
 
    -C:显示先后个两行
 
    
*:任意长度的任意字符
?:任意单个字符
[]:指定范围内的任意单个字符
[^]:指定范围外的任意单个字符
字符集合:
[:digit:]---数字,[:lower: ]---小写字母,[:upper:]---大写字母,[:punct:]---标点符号
[:space:]---空白字符,[:alpha:]---所有字母,[:alnum:]---所有数字和字母

 

正则表达式: REGular EXPression,REGEXP
元字符:
.:匹配任意单字符
 

匹配次数(贪婪模式):
*:匹配其前面的字符任意次
    ab,aab,acb,adb,amnb

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

a.*b: 

\?:匹配其前面的字符1次或0次(可有无可)

a\?b:  

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

a\{1,3\}b: 
a.\{1,3\}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\>---精确匹配
 

\<root---出现在词首
 

root\>---出现在词尾
 

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

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



扩展正则表达式:
字符匹配:
.:任意单个字符
[]:指定范围内的任意单个字符
[^]:指定范围外的任意单个字符

次数匹配:
*:其前字符任意次
?:匹配其前面的字符1次或0次(可有无可)
+:匹配其前面的字符至少1次
{m,n}

位置锁定:
^
$
\<
\>

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

 

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

Shell编程:

编译器,解释器

编程语言,机器语言,汇编语言,高级语言
静态语言:编译型语言
    强类型(变量)
关键字:
动态语言:解释型语言
最后修改:2019 年 10 月 15 日 08 : 15 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论

4 条评论

  1. Qing Google Chrome 76.0.3809.132 Windows 10

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

  2. Lazy Google Chrome 76.0.3809.87 Windows 10

    1. Qing Google Chrome 76.0.3809.100 Windows 10
  3. Qing Google Chrome 76.0.3809.100 Windows 10

www.whoit.top-MySSL安全签章