我有一个名为wh-201310301615.tar.gz
的文件,但它总是有-201310301615.tar.gz
部分。我想查找该字符串是否在文件名中并仅获取数字(因此-
和.tar.gz
存在。目前我使用下一个模式来找到它:
-\d+\.tar\.gz
但我很确定有更好的方法来做到这一点并且只获得数字(目前我必须修剪字符串)。有什么建议吗?
编辑:我正在使用python,因此它是引擎。
答案 0 :(得分:2)
我不完全确定您使用的是什么正则表达式引擎,但假设我已经理解了您的问题,这应该适用于所有支持外观的内容。
(?![^-]+-)\d+(?=\.tar\.gz)
答案 1 :(得分:2)
答案 2 :(得分:0)
你可以使用find和一个小脚本来完成它。
unix> ls
wh-201310301615.tar.gz
wh-201310301616.tar.gz
unix> find . -name "wh-*.tar.gz" -exec find_it {} \;
201310301615
201310301616
unix> cat find_it
#!/bin/sh
echo $1 | cut -c 6-17