shell编程:expr正则匹配心得1
程序员文章站
2022-05-24 18:51:21
...
从字符串“thread1.20110325.log”中取出“20110325”,也就是8位连续数字
filename="thread1.20110325.log" echo `expr "$filename" : '.*\([0-9]\{8\}\).*'`
其中正则为 .*\([0-9]\{8\}\).*
注意两侧的 .* :
1. 如果左边没有 .* 则相当于有 ^ ,也就是相当于开头必须为数字
2. 如果右边没有 .* 则相当于有 $ ,也就是相当于结尾必须为数字
这两点与我们平常用的正则不一样,不注意就匹配不上