正则表达式的基础组成部分

  在shell环境中,通配符能够匹配文本范围相当有限。正则表达式是一种用于文本匹配的形式小巧、且高度针对性的编程语言。例如: @[a-z0-9]+.[a-z]+ 就是一个能匹配电子邮件的正则表达式。

  正则表达式的基础组成部分如下所示:

正则表达式  描述                    示例

^    行起始标记                   ^a匹配以a起始的行

$    行尾标记                      a$匹配以a结尾的行

.     匹配任意一个字符                   a.匹配ab,ac,ad,....但不能匹配abc,他只能匹配单个字符

[]     匹配包含在[]中的任意一个字符                   [09]匹配0或者9

[^]        匹配除了[^]的任意一个字符              9[^123]匹配94,95,...或者9a

[-]     匹配[-]范围中的任意一个字符            [0-9]匹配0,1,2,3,4,5,6,7,8,9

?    匹配之前的一次或者零次              98?7匹配987,97

*          匹配之前的任意次                  987*6匹配986,9876,9876,98776,...

+          匹配之前至少一次                 987*6匹配9876,9876,98776,...

()      创建一个用于匹配的子串             ma(123)x匹配max或者ma123x

{n}  匹配之前的项n次                 [0-9]{3}相当于[0-9][0-9][0-9],即匹配任意一个三位数

{n,}  匹配之前的项至少n次               [0-9]{3,}匹配任意一个除两位数之外的多位数

{n,m} 匹配n到m次

|    匹配两边的任意一项                Oct(123 | 456 )匹配Oct123或者Oct456

    转义特殊字符                    a.b匹配a.b

  初识正则,如果谁有更好的链接,求分享!

原文地址:https://www.cnblogs.com/scf141592/p/5369888.html