我想使用正则表达式获取文件名,所以我一直在尝试简单的事情
([^\.]*)
Run Code Online (Sandbox Code Playgroud)
这当然只有在文件名有一个扩展名时才有效.但如果是adfadsfads.blah.txt
我想要的话adfadsfads.blah
.我怎么能用正则表达式做到这一点?
关于David的问题,'为什么你会使用正则表达式',答案是'为了好玩'.事实上,我使用的代码很简单
length_of_ext = File.extname(filename).length
filename = filename[0,(filename.length-length_of_ext)]
Run Code Online (Sandbox Code Playgroud)
但我喜欢尽可能地学习正则表达式,因为它总是出现在极客鸡尾酒派对上.
Joh*_*lla 37
试试这个:
(.+?)(\.[^.]*$|$)
Run Code Online (Sandbox Code Playgroud)
这将:
注意:正如评论者j_random_hacker建议的那样,它的表现与广告一样,但出于可读性考虑,您可能希望在事物之前加上一个锚点.