Linux正则表达式总结
正则表达式在Linux应用中有很多场景,例如查找包含特定字符的行、匹配密码、qq号、身份证号等。使用正则表达式的目标是查找、取出、匹配符合条件的字符或字符串。

正则表达式的组成
为了方便测试,可以新建一个测试文件。正则表达式主要由以下组成:
- 边界字符:^表示首字符,$表示尾字符。例如^aa表示以aa开头,aa$表示以aa结尾。注意,^$表示空行。
- 匹配单个字符:特定字符指某个具体的字符,例如匹配字符‘b’;范围内字符[]表示在范围内的单个字符,例如数字字符[0-9]、[123],字母字符[a-z]、[A-Z]等;[^]表示反向字符,例如[^0-9]表示非0-9的字符,[^0]表示0以外的字符。注意与边界字符^的区别,^表示边界字符的首字符。
- 匹配重复字符:*表示匹配零次或任意多次,注意,“.”“*”匹配任意字符串;?表示匹配零次或一次;+表示匹配一次或多次;{n,m}表示匹配n至m次。
- 元字符:元字符表示普通字符或特殊字符,常用如下:单词分隔、w匹配任何字类字符、W匹配任何非字类字符、d匹配一个数字字符、D匹配一个非数字字符。
总结
正则表达式虽然无情,总是尽可能匹配所有字符,但同时也遵循贪婪原则,会尽可能最大化匹配最长字符。在使用特殊字符时要注意转义字符“\”。别忘了可以利用正则表达式进行字符串处理,提高工作效率。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6319.html
