我有一个包含一些文件路径的大文本,我需要一个可以帮我提取所有路径的正则表达式。目前我正在使用这个:
\/.+?\/[\w]+\.\w+
它的工作方式几乎完美,但最后包含文件名或点的链接也被解释为路径,如下所示:
http://example.com/index.html
非常感谢帮助提供有效的正则表达式。此外,如果您可以在此正则表达式的路径中添加空格支持,那将非常棒。提前谢谢!
指向正则表达式测试的链接:click
答案 0 :(得分:1)
你可以尝试使用负面的后视来排除“http:”和“https:”前缀。
(?<!https:)(?<!http:)(?<!/)(?<!\w)((/[^\s]+)?/\w+\.\w+)
如果你在pythex中尝试使用这个测试字符串:
/abc/def/def.ps
/abc/def/ttt/def.ps
/test.txt
/abc/test.txt http://example.com/index.html
http://www.google.com/bla/test/index.html https://www.google.com/bla/test/index.html
它只匹配前4个。
以下是pythex链接。
这个正则表达式的优点是不依赖于行的开头。
您可以添加任意数量的内容,以支持其他协议,如ftp等。
答案 1 :(得分:0)
尝试此操作:^\/.+?\/[\w]+\.\w+$
启用多行模式。