首页 理论教育 学习并应用正则表达式|Linux系统编程

学习并应用正则表达式|Linux系统编程

时间:2023-11-16 理论教育 版权反馈
【摘要】:正则表达式是一种可以用于模式匹配和替换的工具,可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与待比较字符串或文件进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。其作用是匹配该字符组所限定的任何一个字符。*(模式表):匹配给定模式表中“模式”的0次或多次出现,各模式之间以“|”分开。

学习并应用正则表达式|Linux系统编程

正则表达式是一种可以用于模式匹配和替换的工具,可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与待比较字符串或文件进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。

1.一般通配符

通配符用于模式匹配,常用的通配符有6种。

(1)*(星号):它匹配任意字符的0次或多次出现。

(2)?(问号):它匹配任意一个字符。

(3)[](一对方括号):其中有一个字符组。其作用是匹配该字符组所限定的任何一个字符。

(4)!(惊叹号):如果它紧跟在一对方括号的左方括号“[”之后,则表示不在一对方括号中所列出的字符。

(5)^(幂次方号):只允放在一行的开始匹配字符串。

(6)$(美元号):只在行尾匹配字符串,它放在匹配单词的后面。(www.xing528.com)

2.模式表达式

模式表达式是指那些包含一个或多个通配符的字符串。

(1)*(模式表):匹配给定模式表中“模式”的0次或多次出现,各模式之间以“|”分开。例如,file*(.c|.o)匹配文件fle.c、file.o、file.c.o、file.c.c、file.o.c、file等,但不匹配file.h、file.s等。

(2)+(模式表):匹配给定模式表中“模式”1次或多次出现,各模式之间以“|”分开。例如,file+(.c|.o)匹配文件file.c、file.o、file.o.c、file.c.o等,但不匹配file。

(3)?(模式表):匹配模式表中任何一种“模式”的0次或1次出现,各模式之间以“|”分开。例如,file?(.c|.o)只匹配file、file.c、file.o等,不匹配file.c.c、file.c.o等。

(4)@(模式表):仅匹配模式表中给定“模式”的一次出现,各模式之间以“|”分开。例如,file@(.c|.o)只匹配file.c和file.o,但不匹配file、file.c.c、file.c.o等。

(5)!(模式表):除给定模式表中的一个“模式”之外,它可以匹配其他任何字符串。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈