• 正则表达式


    vim中查找/

             替换s,一般格式 %s/ / /

             列全部%,只找到每行第一个

             行全部g,只找光标所在整行

    通配符与正则表达式区别:

      通配符常与shell命令配合,与文件名相关

      正则表达式通常用于文件的内容搜索查找、替换有关

    分类:①、基础

               ②、扩展

    一、基础正则表达式

           原字符分类:①、字符匹配   ②、匹配次数   ③、位置锚定    ④、分组

    字符匹配

    .  任意单个字符,如r..o

    [ ]  选定的字符,如[a-zA-Z];  [a-z]<=>[[:lower:]]

    匹配次数

    *      匹配前面一个字符任意次,包括0次。如oo*——>查找至少有一个o开头的

    .*       任意长度字符。包括贪婪模式,如root:oo:ro:taaa——>输入/r.*t——>root:oo:ro:t

    ?      匹配前面一个字符任1次或1次,即可有可无。(如果有符号需要用转义,例/etc/?)

    +      匹配前面一个字符任至少1次,即肯定有。

    {n}     匹配前面一个字符n次

    {m,n} 匹配前面一个字符m到n次

    {,n}    匹配前面一个字符n次以下

    {n,} 匹配前面一个字符n次以上

    [0-9]{n}       一个n位的数字串(这是扩展正则)

    [0-9]{n-m}   一个n到m位的数字串(这是扩展正则)

    位置锚定

    ^  以xx开头,例^#。

    将每行加上#注释:%s/^/#/

    $  以xx结尾,例n$

    /正则表达式/    搜索匹配的行,例以s开头的行:/^s/

    ^$  空行

    /<  单词词首。(除字母、数字、_,其他都算分隔符)    例/<a

    />  单词词尾。例b/>

    /< 单词/>  指定单词

    分组

    (单词)     例将root换为rooter:%s/(root)/1er/g   <==>   %s/(root)/&er/g 注意:1代表第一个()里的内容,/2就代表第二个。&代表前面搜的啥,我就是啥

    |  或  例如:a|b <==> [ab]        (c|C)at代表cat或Cat       ^(a|b)代表以a开头或b开头

    二、扩展正则表达式:基本不需要转移字符了。某些与基础正则表达式还是一样的。但需要工具支持才可以使用。

    set noic  不忽略大小写

  • 相关阅读:
    linux定时器【转】
    Linux Timer定时器【转】
    Linux使用一个定时器实现设置任意数量定时器功能【转】
    Ubuntu 12.04将默认集成Landscape管理套件【转】
    【Linux系统编程应用】Linux音频编程基础(一)【转】
    CRT/LCD/VGA Information and Timing【转】
    记录自己对EventLoop和性能问题处理的一点心得【转】
    Linux下select&poll&epoll的实现原理(一)【转】
    MQTT--入门【转】
    RESTful 个人理解总结【转】
  • 原文地址:https://www.cnblogs.com/ldyaly/p/12739945.html
Copyright © 2020-2023  润新知