正则表达式
前言
正则表达式是一个优秀的文字处理方式,可以通过简单的匹配实现字符串的检索、替换或者删除处理,在信息提取、运营维护方面有重要的应用。
具有特殊含义的符号
符号 | 作用 | 示例 | 示例解释 |
---|---|---|---|
[:alnum:] | 表示数字和大小写英文字母 | ||
[:alpha:] | 表示大小写英文字母 | ||
[:blank:] | 表示空格和制表符 | ||
[:cntrl:] | 表示键盘的控制按键,包括CR、LF、Tab,Del等等 | ||
[:digit:] | 表示数字 | ||
[:graph:] | 除空格和制表符之外的其他按键,不包括控制符号 | ||
[:lower:] | 表示小写字母 | ||
[:upper:] | 表示大写字母 | ||
[:print:] | 表示可以打印的符号 | ||
[:punct:] | 表示标点符号,如,.’”等等 | ||
[:space:] | 表示任何的空白字符,包括空格,制表符和控制符号 | ||
[:xdigit:] | 表示16进制数,匹配0-9,AF和af | ||
[] | 表示中括号中任何一个字符匹配,可以使用范围表示字符 | ||
[^] | 而中括号中加上’^’符号,表示不包含这个括号中的任何一个字符 | ||
^$ | 当’^’和’$’分开出现的时候,分表表示起始和结束 | ||
\ | 后接特殊字符表示本来的字符,无特殊意义 | \.\+ | |
. | 表示任何一个字符 | ||
* | 表示重复匹配前面的字符0次或多次 | ||
\{n,m\} | 括号中填写数字n,m表示匹配前一字符n到m次 | ||
\{n\} | 括号中填写数字n表示匹配前一字符n次 |
拓展正则表达式
grep默认参数仅支持基础正则表达式,可以使用grep -E
或者egrep
开启使用扩展正则表达式。拓展正则表达式如下表所示:
RE符号 | 意义 | 示例 | 示例解释 |
---|---|---|---|
+ | 重复一个或者以上 | go+d | 匹配god、good、goood等等 |
? | 匹配0个或者1个 | go?d | 匹配gd和god |
| | 或 | good|glad | 匹配good或者glad |
() | 表示多个字符的字串 | g(oo|la)d | 匹配good或者glad |
()+ | 将()内匹配的字符串匹配1次及更多 | a(bc)+d | 匹配abc…d字符串 |
参考资料
鸟哥的linux私房菜第十一章:< http://linux.vbird.org/linux_basic/0330regularex.php >
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qinzhtao@163.com
文章标题:正则表达式
文章字数:544
本文作者:捌叁壹伍
发布时间:2019-10-05, 23:53:31
最后更新:2019-10-18, 00:48:05
原始链接:http://qzt8315.github.io/2019/10/05/正则表达式/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。