【问题标题】:Extract parent from a filepath从文件路径中提取父级
【发布时间】:2016-10-10 10:38:12
【问题描述】:

我想分解一个 GCS URI 形式:

gs://bucket/folder1/folder2/test.csv

我需要这些捕获组:“bucket”和“folder1/folder2/test.csv”

问题是我不知道如何从一组任何字符中排除 /。

开头不行:

^(gs:\/\/){1}(?!\/)

我也试过了

^(gs:\/\/){1}(?!.*\/)

我不明白为什么它不起作用,因为我在其他地方看到了答案并且它起作用了。我使用 java/clojure。

谢谢!

编辑

我的意思是在我的 GCS 中隔离“桶”名称。我认为这将匹配任何不包含的字符串:/:

(?!\/)

我在其他地方看到了一个线程,但这个开头为我捕获了 gs:// 之后的整个链。

【问题讨论】:

  • 来自任何角色的组 - 来自两个组还是什么?应该如何看待捕获的结果?
  • 我在其他地方看到了答案,它起作用了 - 你是什么意思?你能告诉我们你看到它在哪里工作吗?另外,请尝试^gs:\/\/([^\/]+)\/(.*),您所寻找的部分被捕获
  • 使用re-groups获取捕获的部分。
  • 另外请注意,您不需要在 Java 正则表达式模式中转义 /,只需使用 ^gs://([^/]+)/(.*)
  • 你在尝试this吗?

标签: java regex clojure


【解决方案1】:

这里有一个 JS 示例来匹配您的要求,其他语言应该相同。

/^gs:\/\/(.+?)\/(.+)$/

检查结果here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    相关资源
    最近更新 更多