shell编程:expr正则匹配心得1

从字符串“thread1.20110325.log”中取出“20110325”,也就是8位连续数字

filename="thread1.20110325.log"
echo `expr "$filename" : '.*\([0-9]\{8\}\).*'`

其中正则为    .*\([0-9]\{8\}\).*

注意两侧的 .* :

1. 如果左边没有 .* 则相当于有 ,也就是相当于开头必须为数字

2. 如果右边没有 .* 则相当于有 ,也就是相当于结尾必须为数字

这两点与我们平常用的正则不一样,不注意就匹配不上

猜你喜欢

转载自stride.iteye.com/blog/1051304