我一直在努力想出自己的厚脸皮,但到目前为止还没有运气。我希望你们中的一个能够度过我的一天!
数据:
This_is.S0meNam3_.var01.tar
This_is.S0meNam3_.var1.tar.gz
This_is.S0meNam3_.tar.gz
在解析了所有给定的exmaples之后,我期待着对组的了解
Group1 -> Group2
This_is.S0meNam3_ -> .tar
This_is.S0meNam3_ -> .tar.gz
This_is.S0meNam3_ -> .tar.gz
我希望这一切都有道理。
谢谢你。
答案 0 :(得分:2)
尝试以下方法:
^(.*?)(?:\.var\d+)?((?:\.tar)?(?:\.gz)?|(?:\.(?:zip|rar)))$
这假设唯一可能的结尾是.zip
,.rar
,.tar
,.gz
和.tar.gz
,并且您要删除的所有内容都是对于某个数字.var<n>
,<n>
形式。
如果不进一步缩小任何扩展名,则无法接受任何扩展名,因为This_is.S0meNam3_.tar.gz
可以通过以下所有方式拆分为文件名和扩展名:
This_is - S0meNam3_.tar.gz
This_is.S0meNam3_ - tar.gz
This_is.S0meNam3_.tar - gz