Shell——正则表达式

是什么

用于描述字符排列和匹配模式的一种语法规则。他主要用于字符串的模式分割,匹配,查找和替换。

正则表达式与通配符

通配符

  • * 匹配任意内容
  • ? 匹配任意一个内容
  • [] 匹配括号中的一个字符

正则表达式

元字符 作用
* 前一个字符匹配0次或任意多次
. 匹配除了换行符外的任意一个字符
^ 匹配行首
$ 匹配行尾
[] 匹配中括号中指定的任意一个字符,只匹配一个字符
[^] 匹配除中括号中的字符以外的任意一个字符
转义符。
\{n\} 表示其前面的字符恰好号出现n次,配合定界符使用
\{n,\} 表示其前面的字符出现不少于n次
\{n,m\} 表示其前面的字符至少出现n次,最多出现m次。
# 匹配所有内容
.*
# 匹配在s和d之间有任意字符
s.*d
# 匹配空白行
^$

# 查找不用数字开头的行
grep "^[^0-9]$" a.txt
# 查找使用.结尾的行
grep "\.$" a.txt

正则表达式与通配符

  • 正则表达式用来在文件中匹配合符合条件的字符串,正则是包含匹配。grep,awk,sed等命令可以支持正则表达式。
  • 通配符用来匹配符合条件的文件名,通配符时完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则定义 规定一些特殊语法表示字符类,数量限定符,位置关系,然后用这些特殊语法和普通字符一起表示亿额模式,这就是正...
    狼之足迹阅读 2,324评论 0 1
  • 推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1阅读 11,540评论 9 151
  • 几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:ht...
    没技术的BUG开发攻城狮阅读 4,615评论 0 23
  • 一、正则表达式的概念及特点: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字...
    姜淑均阅读 363评论 1 3
  • 群亲兴一涌,君苦供鱼器。 初起聊赖萌,屏息移位空。 谁知玄色泳,众纷飞离去。 事后喜连俩,归来眉眼开。
    以行阅读 254评论 3 2