• linux 从入门到跑路–正则表达式


    linux 从入门到跑路

    正则表达式

    基本正则表达式元字符

    . 匹配任意单个字符
    [] 匹配指定范围内的任意单个字符
    [^] 匹配指定范围外的任意单个字符
    [:alnum:] 字母和数字
    [:alpha:] 代表任何英文大小写字符,亦即A-Z, a-z
    [:lower:] 小写字母[:upper:] 大写字母
    [:blank:] 空白字符(空格和制表符)
    [:space:]水平和垂直的空白字符(比[:blank:]包含的范围广)
    [:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
    [:digit:] 十进制数字[:xdigit:]十六进制数字
    [:graph:] 可打印的非空白字符
    [:print:] 可打印字符
    [:punct:] 标点符号

    [root@localhost ~]# cat /etc/passwd|grep r[[:alpha:]][[:alpha:]]t
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin

    image

    匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
    * 匹配前面的字符任意次,包括0次
    贪婪模式:尽可能长的匹配

    [root@localhost ~]# cat test.txt
    abxy
    aby
    xxxxxxy
    yab

    [root@localhost ~]# cat test.txt|grep "x*y"
    abxy
    aby
    xxxxxxy
    yab

    image

    .*任意长度的任意字符


    ?匹配其前面的字符0或1次
    +匹配其前面的字符至少1次
    {n}匹配前面的字符n次
    {m,n}匹配前面的字符至少m次,至多n次
    {,n}匹配前面的字符至多n次
    {n,}匹配前面的字符至少n次


    位置锚定:定位出现的位置
    ^ 行首锚定,用于模式的最左侧
    $ 行尾锚定,用于模式的最右侧
    ^PATTERN$ 用于模式匹配整行
    ^$ 空行
    ^[[:space:]]*$ 空白行
    < 或词首锚定,用于单词模式的左侧
    > 或词尾锚定;用于单词模式的右侧
    <PATTERN>匹配整个单词


    分组:() 将一个或多个字符捆绑在一起,当作一个整体进行处理,如:(root)+

    分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: 1, 2, 3, ...

    1表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符

    示例:(string1+(string2)*)
    1 :string1+(string2)*
    2 :string2

    后向引用:引用前面的分组括号中的模式所匹配字符,而非模式本身

    或者:|
    示例:a|b: a或b C|cat: C或cat (C|c)at:Cat或cat

  • 相关阅读:
    长宽广州地区DNS
    修改PHP的memory_limit限制
    适用于Magento的最合适的.htaccess写法
    在magento中如何回复客户的评论
    冲刺!
    冲刺!
    冲刺!
    冲刺!
    冲刺!
    冲刺!
  • 原文地址:https://www.cnblogs.com/FrancisDrakeK/p/9362502.html
Copyright © 2020-2023  润新知