zoukankan      html  css  js  c++  java
  • Centos常用命令之:正则表达式

    我们知道,正则表达式可以大大的提高我们的工作效率。

    在了解正则表达式之前,我们需要了解,通配符的概念。

    在linux中,我们在使用ls这个命令的时候经常会使用下面这种用法

    [fuwh@localhost stu]$ ll lin1*
    -rw-r--r--. 1 fuwh fuwh 2865 7月  26 10:45 lin1
    -rw-r--r--. 1 root root 2865 7月  26 10:58 lin11
    [fuwh@localhost stu]$

    可以注意到,我们这里使用了*来代替各种字符的意思。

    但是这并不是正则表达式。

    在linux中,有很多的命令,如果这些命令支持正则表达式,那我们就可以在命令里面使用正则表达式。比如:grep、vi等

    但是,如果是不支持正则表达式的话,那就只能使用bash自带的通配符功能了。

    通配符:

    * :代表0个到无穷个任意字符

    ?:代表一个任意字符

    []:代表括号内的任意字符(一个,且一定有一个)

    [ - ]:代表减号前后的字符之间的所有字符

    [^]:^是反向选择的意思,表示一定有一个不是括号中的字符

    了解完通配符之后,我们就可以来看看有那些正则表达式可以用了。

    ^word:表示以word开头

    word$:表示以word结尾

    .:代表一定有一个任意的字符

    :转义字符

    *:表示前面的那个字符重复0到无穷次

    [list]:表示括号内的任意一个

    [n1-n2]:表示n1到n2之间的字符

    [^list]:表示不是list里面的字符

    {n,m}:表示前面的字符重复n到m次

    {n}:表示前面的字符重复n次

    {n,}:表示前面的字符重复n次以上

    +:表示前面的字符重复一次或一次以上

    ?:表示前面的字符出现0次或一次

    |:表示或的意思

    ():表示群组的意思

    ()+:表示出现多次的群组

    例:

    [fuwh@localhost stu]$ cat test.txt
    fuwh第一海洋
    
    fu的名字good
    we use google to search
    not gogle
    
    [fuwh@localhost stu]$ grep  '^fu' test.txt
    fuwh第一海洋
    fu的名字good
    [fuwh@localhost stu]$ grep 'd$' test.txt
    fu的名字good
    [fuwh@localhost stu]$ grep go{2} test.txt
    [fuwh@localhost stu]$ grep 'go{2}' test.txt
    fu的名字good
    we use google to search
    [fuwh@localhost stu]$
  • 相关阅读:
    docker,构建nginx反向代理tomcat
    centos7 Docker Compose 的安装
    tomcat8以上管理页面提示403问题
    实战docker,编写Dockerfile定制tomcat8镜像,实现web应用在线部署
    pycharm的MySQLdb模块导不进去时解决办法
    使用Docker创建Elasticsearch服务
    使用Docker搭建Tomcat运行环境
    win7查看某个端口被占用的解决方法
    在docker中使用mysql数据库,在局域网访问
    c++11 其他特性(一)
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7244647.html
Copyright © 2011-2022 走看看