加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

文本处理工具--正则表达式

发布时间:2020-12-14 01:42:18 所属栏目:百科 来源:网络整理
导读:在学习linux中文本搜索是很重要的 对于初学者来说如何快速学会运用正则表达式相当重要的。 文本搜索工具,根据用户指定的文本搜索模式(搜索条件)对目标进行逐行搜索,显示能匹配的行。 文本搜索: grep :基本正则表达式 egrep:扩展正则表达式 fgrep:fas

在学习linux中文本搜索是很重要的 对于初学者来说如何快速学会运用正则表达式相当重要的。

文本搜索工具,根据用户指定的文本搜索模式(搜索条件)对目标进行逐行搜索,显示能匹配的行。

文本搜索:

grep :基本正则表达式

egrep:扩展正则表达式

fgrep:fast,不支持使用正则表达式

其语法格式: grep [option]...'PATTERN' FILE...

正则表达式:是一类字符所书写的模式,其中许多字符不表示其字面意义,而是表达控制或通配等能;

元字符:不表示其字面意义,而用于额外功能性描述。


基本正则表达式


1.字符匹配

.

匹配任意单个字符

[]

匹配指定范围内的任意单个字符

[0-9],[[:digit:]]

[a-z],[[:lower:]]

[A-Z],[[:upper:]]

[[:space:]]

[[:punct:]]

[[:alpha:]]

[[:alnum:]]

[^]

取反


2.次数匹配元字符:用于实现指定其前面的字符所能够出现的次数。

*

任意长度,它前面的字符可以出现任意次

?

0次或1次,它前面的字符可有可无的

m

m次,它前的字符要出现m

{m,n}

至少m次,之多n

至少m

{0,0);">

n

.*

任意长度的任意字符



3.位置锚定:

^

行首锚定;写在模式最左侧例如:grep"^r...t"/etc/passwd

$

行尾锚定;写在模式最右侧例如:grep"r...t$"/etc/passwd

^$

空白行例如:grep"^$"/etc/passwd|wc-l

&;

词首,出现于单词左侧.例如:grep"&;r...t"/etc/passwd

&;

词尾,出现于单词右侧例如grep"r...t&;"etc/passwd



4.分组:

()

分组中的模式匹配到内容,可由正则表达式引擎记忆在内存中,之后可被引用例如:(ab)*grep"(ro)*"etc/passwd

()引用

有编号:自左而右的左括号,以及与其匹配右括号例如(ab)(x)y).*(mn

#

引用第n个括号所匹配到的内容,而非模式本身

例如:

(ab?c).*1

正确:abcmnaaa错误:abcmnac

abcmnabc

acmnac

5:grep的命令选项

-v

反向选取

-o

仅显示匹配的字串,而非字串所在的行

-i

忽略字符大小写

-E

支持使用扩展正则表达式

-A#

显示上行#(变量输入几行)

-B#

显示下行

-C#

显示全部

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读