使用正则表达式从字符串获取没有扩展名的Filname

Sim*_*mon 2 java regex filenames extraction

我有一个包含文件URL的字符串.从那个字符串我喜欢只获得没有扩展名的文件名.

例如:

http://path/Lists/Test/Attachments/1/Document Test.docx
Run Code Online (Sandbox Code Playgroud)

从那个例子我喜欢回来: Document Test

我已经有了以下模式:

(?<=\/)(\w+)(?=\.\w+(\?.*)*$)
Run Code Online (Sandbox Code Playgroud)

但是如果文件名包含空格则不起作用...如何更改此模式更灵活?

Dae*_*lus 5

要仅在扩展名之前捕获字符(不限制文件名可能包含的字符),请使用以下命令:

/[^/]*(?=\.[^.]+($|\?))/
Run Code Online (Sandbox Code Playgroud)