正则表达式:省略文件扩展名

时间:2018-05-14 08:54:13

标签: java regex

我正在编写一个正则表达式来从Linux文件路径中提取文件名,例如:

 constructor(props) {
                   super(props);
                   this.handleBackButtonClick = this.handleBackButtonClick.bind(this);
                 }

                 componentWillMount() {
                   BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
                 }

                 componentWillUnmount() {
                   BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
                 }

                 handleBackButtonClick() {
                   BackHandler.exitApp();
                 }

文件名中可以​​包含空格。

这是我用来选择文件路径的正则表达式:/snowninja/Documents/filename.txt` 然后通过^/(.+/)*(.+)/(.+)$

获取文件名

这甚至可以获取文件扩展名,我不希望这样。 任何帮助表示赞赏。 Ť

1 个答案:

答案 0 :(得分:0)

我会使用以下正则表达式: Demo

(?<=\/)[^.\/]+(?=[.])
(?<=/)[^./]+(?=[.]) <-- unescaped

进行积极的观察,找到/,选择不是./的所有内容,并在找到.时停止(积极的向前看)确保你拿走文件而不是目录