美文网首页正则表达式学习笔记
【Linux操作】---正则表达式学习笔记(一)

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

作者: 卡布达b1 | 来源:发表于2020-05-13 10:51 被阅读0次

    前言:正则表达式真是学一次忘一次[手动捂脸],实在是记不住啊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$来进行限定。

    相关文章

      网友评论

        本文标题:【Linux操作】---正则表达式学习笔记(一)

        本文链接:https://www.haomeiwen.com/subject/pqggnhtx.html