如何将Linux父目录与Java Regex匹配?

时间:2019-01-28 16:36:26

标签: java regex

Linux路径为../../test/test/mydirectory/.....

我尝试使用此正则表达式删除所有../

[s{/././///}]

但这会删除所有特殊字符

我只想删除../../../../../并保留真实路径

String result = path.replaceAll("[s{/././///}]",""); 

我希望正则表达式能够识别所有可能的../../../../空父目录,而只保留真实路径名开始的真实目录

仅在字母开头的地方开始

1 个答案:

答案 0 :(得分:1)

您可以使用

s.replaceFirst("^(?:\\.{2}/)+", "")

模式匹配

  • ^-字符串的开头
  • (?:\\.{2}/)+-一个或多个重复项:
    • \.{2}-两个点
    • /-斜线。

.replaceFirst将找到模式的第一个匹配项,并将其替换为空字符串。