【发布时间】: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吗?