• 正则表达式


    正则表达式是一种基础的模式匹配技术。大多数文本处理工具都支持正则表达式。借助适合的正则表达式,我们可以对文本文件执行过滤、剥离(strip)、替换、搜索等操作。 
     

    位置标记

    1、查找abc开头的行

    [root@linux test_shell]# grep "^abc" << end
    > abc123
    > 123abc
    > end
    abc123

    2、查找abc结尾的行

    [root@linux test_shell]# grep "abc$" << end
    > abc123
    > 123abc
    > end
    123abc

    标识符

     1、查找包含abc的行

    [root@linux test_shell]# grep "abc" << end
    > abc123
    > 123abc
    > end
    abc123
    123abc

    2、匹配任意一个字符

    [root@linux test_shell]# grep "abc." << end
    > abc
    > abc1
    > abc22
    > end
    abc1
    abc22

    3、匹配 [ ] 内的任意一个字符

    [root@linux test_shell]# grep "abc[0-9]" << end
    > aaa
    > abcd
    > abc333
    > end
    abc333

    4、匹配不在 [ ] 内的任意一个字符

    [root@linux test_shell]# grep "abc[^0-9]" << end
    > abc3
    > abcd
    > abc%
    > end
    abcd
    abc%

    数量修饰符

    1、? 匹配之前的项1次或0次。注意:? 要用转义字符转义

    [root@linux test_shell]# grep "ab?c" << end
    > ac
    > abc
    > abbc
    > end
    ac
    abc

     2、+ 匹配之前的项1次或多次。注意:+ 要用转义字符转义

    [root@linux test_shell]# grep "ab+c" << end
    > ac
    > abc
    > abbc
    > end
    abc
    abbc

    3、* 匹配之前的项0次或多次

    [root@linux test_shell]# grep "ab*c" << end
    > ac
    > abc
    > abbc
    > end
    ac
    abc
    abbc

    4、{n} 匹配之前的项n次。注意:{ } 要用转义字符转义

    [root@linux test_shell]# grep "ab{3}c" << end
    > ac
    > abc
    > abbbc
    > end
    abbbc

    5、{n,} 之前的项至少需要匹配n次

    [root@linux test_shell]# grep "ab{2,}c" << end
    > abc
    > abbc
    > abbbc
    > end
    abbc
    abbbc

    6、{n,m} 之前的项所必须匹配的 最小次数 - 最大次数

    验证工号

    [root@linux test_shell]# grep -w "^a[0-9]{4,6}" << end
    > a123
    > a1234
    > a123456
    > a12345678
    > end
    a1234
    a123456

    备注:grep -w ---> 精准匹配

    验证QQ邮箱

    [root@linux test_shell]# grep -w "^[1-9][0-9]{4,11}@qq.com" << end
    > 1234@qq.com
    > 12345678@qq.com
    > 123456789123456@qq.com
    > 12345678@qq.cn
    > 12345678@oo.com
    > end
    12345678@qq.com

    其他

    1、() 将括号中的内容视为一个整体。注意:() 要用转义字符转义

    [root@linux test_shell]# grep "abc(123)+" << end
    > abc
    > abc123
    > abc123123
    > end
    abc123
    abc123123

    2、| 指定了一种选择结构,可以匹配 | 两边的任意一项。注意:| 要用转义字符转义

    [root@linux test_shell]# grep "a(b|c)" << end
    > ab
    > ac
    > abc
    > end
    ab
    ac
    abc
  • 相关阅读:
    Spring注解(环境)
    Spring注解(赋值相关)
    C#:关联程序和文件
    C#: 获取执行程序所在路径和启动资源管理器
    C#:WPF绘制问题
    WPF:窗体置顶
    C#:屏幕显示区域问题
    C#:文件、文件夹特别操作
    C#:插件、框架
    WPF:MenuItem样式
  • 原文地址:https://www.cnblogs.com/lfjn/p/11419417.html
Copyright © 2020-2023  润新知