• linux 下Regular Expression


    正则表达式:Regular Expression,REGEXP
    元字符:
    .:表示任意单个字符
    []: 匹配指定范围内的任意单个字符
    [^]: 匹配指定范围外的任单个字符
    字符集合: [:digit:], [:lower:],[:upper:],[:punct:] [:alpha:] [:space:],[:alnum:]

    字符个数:(贪婪模式)
    *:匹配其前面的字符任意次
    a, b, ab, aab, acb, adb, amnb
    a*b b ab aab
    a.*b
    .*:任意长度的任意字符

    ?: 匹配其前面的字符1次或0次
    a?b
    {m,n}:匹配其前的字符至少m次,自多n次
    {1,} 至少一次
    {0,3} 最多三次

    位置锚定:
    ^:锚定行首,此字符后面的任意内容必须出现在行首
    $: 锚定行尾,此字符前面的任意内容必须出现在行尾
    ^$:空白行

    <或: 锚定词首,其后面的任意字符必须作为单词的首部出现
    >或: 锚定词尾,其前面的任意字符必须作为单词的尾部出现

    分组:
    ()
    (ab)* ab可以出现任意次 *号修饰ab整体
    后向引用
    1: 第一个左括号以及与之对应的右括号所包括的
    2:
    3:

    He love his lover.
    She like her liker
    HW love his liker
    she like her lover

    grep '(1..e).*1'

    /etc/inittab
    grep'([0-9]).*1$'

     

    grep 'b..h$'
    grep '[[:space:]][[:digit:]]$'
    grep "root>" 或"root"

     

     


    REGEXP: REGULAR EXPRESSION
    Pattern:

    正则表达式:
    Basic REGEXP:基本
    Extended REGEXP:扩展

    基本正则表达式:
    .:
    []:
    [^]:

    次数匹配:
    *:任意次
    ?:0次或1次
    {n,m}:至少n次,至多m次

    锚定:
    ^:
    $:
    ^$:
    <, :
    >, 
    (): 分组 1, 2, 3

    grep: 使用基本正则表达式定义的模式来过滤文本的命令;
    -i 忽略大小写
    -v:
    -o:只显示被模式匹配到字符串
    --color
    -E: 使用扩展正则表达式
    -A: 某一行被正则表达式匹配到了,同时显示下面的行 after
    -B:before
    -C:context

    grep --color -A 2 "^ core id" /proc/cpuinfo

     

    扩展正则表达式:
    字符匹配:
    .
    []
    [^]

    次数匹配
    *:
    ?:相同,其前字符0次或1次
    +:匹配其前面的字符至少一次=之前的/{0,1/}
    {m,n}

    位置锚定
    ^
    $
    <
    >

    分组
    ():分组
    1,2.3

    或者
    |:or

    grep --color -E '(C|c)at' test.txt
    '^[[:space:]]+' 以至少一个空白字符开头的行


    grep -E = egrep

    显示所有以数值结尾且文件名中不包含空白的文件

    ls *[^[:space:]]*[0-9]$

    找出/boot/grub/grub.conf文件中1-255之间的数字
    <([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])> 必须作为单个单词出现

    ip地址
    .
    ifconfig | egrep -o '(<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>.){3}<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>'


    ipv4
    5类:A B C D E
    A:1-127
    B:128-191
    C:192-223

    ifconfig | egrep '<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-1][0-9]|22[0-3])>(.<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>){2}.<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>'


    grep, egrep
    fgrep: fast grep 不支持正则表达式

  • 相关阅读:
    vscode 远程连接服务器
    linux通配符和正则表达式
    vscode常用快捷键
    个人博客
    百度搜索自动排除csdn
    Spring Boot配置文件中动态配置运行目录,jar包路径
    eclipse springMVC项目打包war
    微信h5支付报错 商家参数格式有误,请联系商家解决
    Object函数的内置方法 Object.entries
    Object函数的内置方法 Object.getOwnPropertySymbols
  • 原文地址:https://www.cnblogs.com/chrisDuan/p/4601896.html
Copyright © 2020-2023  润新知