SHELL 正则表达式

句点"."匹配单字符 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 .* 匹配任意多个字符 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xings2099/archive/2008/09/30/3005129.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值