import java.nio.file.Path ;
import java.nio.file.Paths ;
import java.util.regex.Pattern ;
class Ideone
{
public Pattern LEADING_SLASHES = Pattern.compile ( "^(/|\\ \\ )+" ) ;
return LEADING_SLASHES.matcher ( path) .replaceFirst ( "" ) ;
}
{
Path ESPath = Paths.get ( "\\ es-module-repo\\ fdea3319-18ea-4bd5-8ae2-2662d6f2ba72\\ foo.mjs" ) ;
System .
out .
print ( "\\ es-module-repo\\ fdea3319... is " ) ; if ( ESPath.isAbsolute ( ) ) {
System .
out .
print ( "an absolute " ) ; } else {
System .
out .
print ( "not absolute " ) ; }
Path ESPath2 = Paths.get ( "/es-module-repo/fdea3319-18ea-4bd5-8ae2-2662d6f2ba72/foo.mjs" ) ;
System .
out .
print ( "/es-module-repo/fdea3319... is " ) ;
if ( ESPath2.isAbsolute ( ) ) {
System .
out .
print ( "an absolute " ) ; } else {
System .
out .
print ( "not absolute " ) ; }
System .
out .
print ( "ESPath:" + ESPath.
toString ( ) ) ; if ( ESPath.toString ( ) .startsWith ( "\\ " ) ) {
System .
out .
println ( " ESPath is Absolute!" ) ; }
System .
out .
print ( "ESPath2:" + ESPath2.
toString ( ) ) ; if ( ESPath2.toString ( ) .matches ( "(\\ |\\ \\ /).*" ) ) {
System .
out .
println ( "ESPath2 is Absolute!" ) ; }
Path ESPath3 = Path.of ( new Ideone( ) .removeLeadingSlashes ( ESPath.toString ( ) ) ) ;
System .
out .
println ( "Modified ESPath: " + ESPath3
) ;
String Str3
= ESPath.
toString ( ) .
replaceAll ( "\\ \\ " ,
"/" ) ; System .
out .
println ( "Regex: " + Str3
) ; }
}
aW1wb3J0IGphdmEubmlvLmZpbGUuUGF0aDsKaW1wb3J0IGphdmEubmlvLmZpbGUuUGF0aHM7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgUGF0dGVybiBMRUFESU5HX1NMQVNIRVMgPSBQYXR0ZXJuLmNvbXBpbGUoIl4oL3xcXFxcKSsiKTsKCXB1YmxpYyBTdHJpbmcgcmVtb3ZlTGVhZGluZ1NsYXNoZXMoU3RyaW5nIHBhdGgpIHsKICAgICAgICAJcmV0dXJuIExFQURJTkdfU0xBU0hFUy5tYXRjaGVyKHBhdGgpLnJlcGxhY2VGaXJzdCgiIik7CiAgICAJfQogICAgCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJCgoJCVBhdGggRVNQYXRoID0gUGF0aHMuZ2V0KCJcXGVzLW1vZHVsZS1yZXBvXFxmZGVhMzMxOS0xOGVhLTRiZDUtOGFlMi0yNjYyZDZmMmJhNzJcXGZvby5tanMiKTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50KCJcXGVzLW1vZHVsZS1yZXBvXFxmZGVhMzMxOS4uLiBpcyAiKTsKCQlpZiAoRVNQYXRoLmlzQWJzb2x1dGUoKSkgewoJCQlTeXN0ZW0ub3V0LnByaW50KCJhbiBhYnNvbHV0ZSAiKTsKCQl9IGVsc2UgewoJCQlTeXN0ZW0ub3V0LnByaW50KCJub3QgYWJzb2x1dGUgIik7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigicGF0aC4iKTsKCgkJUGF0aCBFU1BhdGgyID0gUGF0aHMuZ2V0KCIvZXMtbW9kdWxlLXJlcG8vZmRlYTMzMTktMThlYS00YmQ1LThhZTItMjY2MmQ2ZjJiYTcyL2Zvby5tanMiKTsKCQlTeXN0ZW0ub3V0LnByaW50KCIvZXMtbW9kdWxlLXJlcG8vZmRlYTMzMTkuLi4gaXMgIik7CgkJCgkJaWYgKEVTUGF0aDIuaXNBYnNvbHV0ZSgpKSB7CgkJCVN5c3RlbS5vdXQucHJpbnQoImFuIGFic29sdXRlICIpOwoJCX0gZWxzZSB7CgkJCVN5c3RlbS5vdXQucHJpbnQoIm5vdCBhYnNvbHV0ZSAiKTsKCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKCJwYXRoLiIpOwoKCQlTeXN0ZW0ub3V0LnByaW50KCJFU1BhdGg6IiArIEVTUGF0aC50b1N0cmluZygpKTsKCQlpZiAoRVNQYXRoLnRvU3RyaW5nKCkuc3RhcnRzV2l0aCgiXFwiKSkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIiBFU1BhdGggaXMgQWJzb2x1dGUhIik7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigiICIpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnQoIkVTUGF0aDI6IiArIEVTUGF0aDIudG9TdHJpbmcoKSk7CgkJaWYgKEVTUGF0aDIudG9TdHJpbmcoKS5tYXRjaGVzKCIoXFx8XFxcXC8pLioiKSkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkVTUGF0aDIgaXMgQWJzb2x1dGUhIik7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigiICIpOwoJCQoJCVBhdGggRVNQYXRoMyA9IFBhdGgub2YobmV3IElkZW9uZSgpLnJlbW92ZUxlYWRpbmdTbGFzaGVzKEVTUGF0aC50b1N0cmluZygpKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJNb2RpZmllZCBFU1BhdGg6ICIgKyBFU1BhdGgzKTsKCQkKCQlTdHJpbmcgU3RyMyAgPSBFU1BhdGgudG9TdHJpbmcoKS5yZXBsYWNlQWxsKCJcXFxcIiwgIi8iKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIlJlZ2V4OiAiICsgU3RyMyk7Cgl9Cn0=