正则表达式学习笔记

【Linux操作】---正则表达式学习笔记(一)

2020-05-13  本文已影响0人  卡布达b1

前言:正则表达式真是学一次忘一次[手动捂脸],实在是记不住啊TAT~~
1.什么是“正则表达式”?
比如,我有一个hello.txt文件,里面有四行字符串:

helloWorld
123hello
ni,helloWorld
hello

这四行字符串都含有“hello”这个子字符串,而我遇到了如下情况时应该怎么做呢?
情况1)只想打印“hello”位于行首的字符串
情况2)只想打印“hello”位于行尾的字符串
为了解决这些问题,我们就需要运用正则表达式了。
解决情况1):

cat hello.txt |grep ^hello

输出:


打印“hello”位于行首的字符串

解决情况2):

cat hello.txt |grep hello$

输出:


打印“hello”位于行尾的字符串

聪明如你,肯定已经看出其中的门道了。解决情况1时,执行命令中的^hello,就只打印了hello.txt的第一行,即“hello”只位于行首的字符。解决情况2时,执行命令中变成了hello$,就只打印了hello.txt的第二行,即“hello”只位于行尾的字符。

这便是正则表达式的含义,用于操作符合限定条件的字符。
那么想一想,当你遇到情况3时应该如何处理呢?
情况3)只想打印“hello”既位于行首又位于行尾的字符串
解决情况3):

cat hello.txt |grep ^hello$

输出:


打印“hello”既位于行首又位于行尾的字符串

嘿嘿,其实情况3换成人话说,就是全行只有“hello”的字符串,所以就需要^hello$来进行限定。

上一篇下一篇

猜你喜欢

热点阅读