Regex以匹配文件路径的最后一部分



我有一个由字符串组成的.csv文件,其中包含某些文件的路径。我想捕获该文件中的所有文件名。

示例数据:

/second/path/to/something-4-5_4.pdf,
/path/to/certain/file.pdf
randomnoise,

我想要捕捉的内容:所有出现在斜线后并以.pdf结尾的单词,在这种情况下:

something-4-5_4.pdf
file.pdf

我尝试过的:

/(.*).pdf

演示

不幸的是,这捕获了/和.pdf之间的所有内容,整个路径。我很难想出让它抓住我想要的的条件

关键是.模式匹配换行符以外的任何字符。您需要将模式限制为只匹配除斜杠之外的任何字符。

有几种解决方案,包括

/([^/]*.pdf)
[^/]*.pdf
[^/]*.pdf$

请参阅regex演示详细信息

  • /([^/]*.pdf)匹配/,然后尽可能多地捕获除/之外的一个或多个字符,然后将.pdf放入组1
  • [^/]*.pdf只是尽可能多地匹配除/之外的一个或多个字符,然后匹配.pdf
  • [^/]*.pdf$的工作原理与上述相同,但也确保pdf位于字符串的末尾

相关内容

  • 没有找到相关文章

最新更新