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

  在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

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

posted @ 2016-04-08 20:36  生成风  阅读(872)  评论(0编辑  收藏  举报