【问题标题】:Regex - match the first word of a filename inside a path正则表达式 - 匹配路径中文件名的第一个单词
【发布时间】:2020-11-04 16:06:55
【问题描述】:

这是一个例子,结果应该是这样的:

Controllers/Employees/File | Match = File

Controllers/Employees2/File2.php | Match = File2

Controllers/Employees3/File3.class.php | Match = File3

我只知道将在最后一个/ 之后获取字符串的正则表达式:

[^/]*$

但是,这将匹配完整的文件名甚至文件类型。 我已经尝试添加积极的前瞻,但它并没有按预期的方式工作。需要帮助。

【问题讨论】:

  • 一个词是什么意思?
  • @WiktorStribiżew 我认为 OP 的示例表明他们希望分别来自给定路径的 FileFile2File3

标签: regex


【解决方案1】:

这样就可以了:

(?<=^|\/)[^\/.]+(?=[^\/]*$)
  • (?&lt;=^|\/) - 在我后面需要一个斜杠或字符串的开头
  • [^\/.]+ - 获取文件名
  • (?=[^\/]*$) - 在我前面,直到字符串末尾都没有斜线

https://regex101.com/r/HyY0wr/1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-23
    • 2021-01-15
    • 1970-01-01
    • 2022-10-19
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多