1) . : 匹配任意单ASCII 字符,可以为字母,或为数字。
2) 举例: ..XC..匹配deXC1t、23XCdf
等,.w..w..w.匹配rwxrw-rw-
行首以^匹配字符串或字符序列
1) ^ : 允许在一行的开始匹配字符或单词。
2) 举例: ^.01 匹配0011cx4、c01sdf 等,^d
匹配drwxr-xr-x、drw-r--r--等
行尾以$匹配字符串或字符
1) $ : 在行尾匹配字符串或字符,$符号放在匹配单词后。
2) 举例: trouble$ 匹配以单词trouble
结尾的所有行
^$匹配所有空行

使用*匹配字符串中的单字符或其重复序列(与文件名置换中的"*"不一样)
1) * : 一个单字符后紧跟*,匹配0 个或多个此单字符。
2) 举例: compu*t 将匹配字符u
一次或多次,即匹配computer computing compuuute
等
1033* 可以匹配 101333 10133 1013444
等
3) 在正则表达式中使用"*",有时会产生非预期的结果。

使用\屏蔽一个特殊字符的含义
1) \ : 用来屏蔽一个元字符的特殊含义。因为有时在shell
中元字符有特殊含义。\可以使其失去应有意义。
2) 举例: 在正则表达式中匹配以*.pas 结尾的所有文件: \*\.pas$

使用[]匹配属于一个范围或集合单个字符
1) [ ] : 匹配"[
]"内的字符。可以是一个单字符,也可以是字符序列。可以使用"-"表示括号"[ ]"内字符序列范围,
如用[1-5]代替[12345]。可以用逗号","分隔括号"[]"内的字符。
2) 当"^"符号当直接靠着"[",意指否定或不匹配括号"[]"里内容
3) 举例: [0-9]匹配任意一个数字;[a-z]匹配任意一个小写字母;[0-9A-Za-z]匹配任意字母或数字;
[C,c]omputer 匹配Computer
和computer;[^a-zA-Z]匹配任一非字母型字符

使用"\{\}"匹配模式结果出现的次数
1) pattern\{n\}

 : 匹配模式pattern 出现n 次的情形。
2) pattern\{n,\}  : 匹配模式pattern 最少出现n 次的情形。
3) pattern\{,m\}  : 匹配模式pattern 最多出现m 次的情形。
4) pattern\{n,m\} : 匹配模式pattern 出现次数在n
与m 之间的情形。
5) 举例: A\{2\}B 匹配的值为AAB
A\{2,\}B   匹配的值可以是AAB 或AAAAAB,但不能匹配AB
A\{2,4\}B  匹配的值可以是AAB、AAAB、AAAAB,但不能匹配AB 或AAAAAB 等
[0-9]\{4\}CX[0-9]\{4\}  匹配数字出现4
次后跟CX,最后是数字出现4 次的情形
6) 实际上真正的格式是 {n} {n,} {,m} {n,m},只不过对"{"和"}"应用了Esacpe 字符"\"。

经常使用的正则表达式举例
[Ss]igna[lL] 
 匹配单词signal、signaL、Signal、SignaL
[Ss]igna[lL]\. 同上,但加一句点
^USER$    
    只包含USER
的行
\.    
  
     带句点的行
^d..x..x..x   
对用户、用户组及其他用户、组成员有可执行权限的目录
^[^l]    
    
排除符号链接文件后的文件目录列表(即不是以"l"开始的行)
[yYnN]    
    大写或小写y
或n
^.*$    
  
   匹配行中任意字符串
^......$    
  包括6 个字符的行
[a-zA-Z]    
  任意单个字母
[a-z]*    
  
 至少一个小写字母
[^0-9\$]    
  非数字或美元符号
[123]    
     1 到3
中一个数字
\^q    
  
    以^q
开始行
^.$    
  
  
 仅有一个字符的行
^\.[0-9][0-9]  以一个句点和两个数字开始的行

[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} 
  
  
  
    
日期格式dd-mm-yyyy
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}  类IP
地址格式
    
  
  
  
  
  
  
  
  
  
  
  
  
  
   
nnn.nnn.nnn.nnn
.*    
  
    
匹配任意多个字符

shell 正则表达式与文件名匹配的更多相关文章

  1. 『忘了再学』Shell基础 — 24、Shell正则表达式的使用

    目录 1.正则表达式说明 2.基础正则表达式 3.练习 (1)准备工作 (2)*练习 (3).练习 (4)^和$练习 (5)[]练习 (6)[^]练习 (7)\{n\}练习 (8)\{n,\}练习 ( ...

  2. linux shell 正则表达式(BREs,EREs,PREs)差异比较

    linux shell 正则表达式(BREs,EREs,PREs)差异比较 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符 串的单个字符串.在很多文本编辑器或其他工具里 ...

  3. linux shell 正则表达式(BREs,EREs,PREs)的比较

    原文 :   linux shell 正则表达式(BREs,EREs,PREs)差异比较 在使用 linux shell的实用程序,如awk,grep,sed等,正则表达式必不可少,他们的区别是什么 ...

  4. 文本处理三剑客与shell正则表达式

    文本处理三剑客 提到对于文本的处理上,除了vim这个强大的编辑器之外,还有使用命令的形式去处理你要处理的文本,而不需要手动打开文本再去编辑.这样做的好处是能够以shell命令的形式将编辑和处理文本的工 ...

  5. shell(shell函数、shell正则表达式)

    本章内容 shell函数 shell正则表达式 1.shell函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. 格式: funname () { CMD #函数体 ...

  6. Shell 正则表达式详解

    Shell 正则表达式 什么是正则表达式? 正则表达式在每种语言中都会有,功能就是匹配符合你预期要求的字符串. 为什么要学正则表达式? 在企业工作中,我们每天做的linux运维工作中,时刻都会面对大量 ...

  7. 我们一起来学Shell - 正则表达式

    文章目录 什么是正则表达式 正则表达式元字符 正则表达式应用举例 POSIX 方括号表达式 POSIX 字符集列表: 我们一起来学Shell - 初识shell 我们一起来学Shell - shell ...

  8. C#正则表达式Regex常用匹配

    使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 利用Regex类实现验证 示例1:注释的代码所起的作用是相同的,不过一个是静态方法,一个是 ...

  9. JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)

    JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...

随机推荐

  1. RemoveDuplicatesFromSortedArrayI II,移除有序数组里的重复元素以及移除数组里的某个元素

    RemoveDuplicatesFromSortedArrayI: 问题描述:给定一个有序数组,去掉其中重复的元素.并返回新数组的长度.不能使用新的空间. [1,1,2,3] -> [1,2,3 ...

  2. MySQL安装配置教程

    环境:Windows 7 旗舰版 64位MySQL版本:mysql-5.5.14-winx64MySQL下载地址:http://dev.mysql.com/downloads/installer/ 1 ...

  3. Red Hat OpenStack 10的新特性

    这是Red Hat有史以来最好的版本,同时也是第一个长生命周期版本(最长五年支持),这篇文章会介绍为什么这是你私有云最好的礼物. 由于要使用命令行,以前安装OpenStack是很繁重的工作.这个版本提 ...

  4. Author Agreement

    Dear Editor,We the undersigned declare that this manuscript entitled “文章标题” is original, has not bee ...

  5. LeetCode第[62]题(Java):Unique Paths 及扩展

    题目:唯一路径(机器人走方格) 难度:Medium 题目内容: A robot is located at the top-left corner of a m x n grid (marked 'S ...

  6. Java泛型中的标记符含义

    Java泛型中的标记符含义:  E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number ...

  7. vuejs,angularjs,reactjs介绍

    1.https://www.zhihu.com/question/263782718/answer/274623434 (Vue 除了SPA(单页面应用)还适用于什么类型网站?) 而一个项目采用什么前 ...

  8. django model_fields_validators 前端页面编辑自定义验证

    # model_field_validators.py import re from django.core.exceptions import ValidationError from django ...

  9. telnet: connect to address ::1: connect refused [centos, linux]

    在我测试邮件服务器时, 使用 telnet localhost 25 出现如下的提示: Trying::1... telnet: connect to address ::1:Connection r ...

  10. 内存保护机制及绕过方案——利用未启用SafeSEH模块绕过SafeSEH

    前言:之前关于safeSEH保护机制的原理等信息,可在之前的博文(内存保护机制及绕过方案中查看). 利用未启用SafeSEH模块绕过SafeSEH ⑴.  原理分析: 一个不是仅包含中间语言(1L)且 ...