将表达式匹配到字符串的末尾

时间:2013-03-06 20:16:55

标签: java regex

我正在尝试匹配文件,此文件可以是任何内容,例如test.txt。

我正在尝试从www.example.com/example.txt

中提取文本example.txt

这是我提出的正则表达式:

\\../$
\\. for to match the dot
. for any characters in between 'com' and the forward slash
/$ to march forward slash to the end of the string.

这是获取文件的正确方法吗?

以下是我一直使用的来源:http://www.regular-expressions.info/java.html

我也在使用Java作为我的正则表达式。

3 个答案:

答案 0 :(得分:2)

你最好为此跳过正则表达式并使用java的内置URL解析

http://docs.oracle.com/javase/tutorial/networking/urls/urlInfo.html

请参阅.getFile方法。

答案 1 :(得分:1)

这将从URL中获取文件,但排除常见的尾随元素,如查询字符串(后面的?)或书签(后面的#):

/[^/\?#]+(?=($|\?|#))/

答案 2 :(得分:0)

我不太了解你的正则表达式。似乎你对正则表达式语法的理解不正确。使用您的示例,您可以做的是:

^.*字符串以任何内容开头

/后跟斜杠

((小组开始)

[^/]*后面跟着一堆不是斜线的东西

)(小组结束)

$到最后

即。你可以尝试的正则表达式是^.*/([^/]*)$