Java 按路径拆分正则表达式

Java 按路径拆分正则表达式,java,regex,string,split,Java,Regex,String,Split,如果我有这个: thisisgibberish 1234 /hello/world/ more gibberish 43/7 /good/timing/ just onemore 8888 /thanks/mate Java String.split()方法中的正则表达式是什么来获取每行的路径 即 做 myString.split("\/[a-zA-Z]") 导致每/h、/w、/g、/t和/m发生一次拆分 我该如何编写一个正则表达式,使其每行只拆分一次,同时只捕获路径 提前谢谢。

如果我有这个:

thisisgibberish  1234 /hello/world/
more gibberish 43/7 /good/timing/
just onemore    8888  /thanks/mate
Java String.split()方法中的正则表达式是什么来获取每行的路径

myString.split("\/[a-zA-Z]") 
导致每/h、/w、/g、/t和/m发生一次拆分

我该如何编写一个正则表达式,使其每行只拆分一次,同时只捕获路径


提前谢谢。

为什么要分手?我认为在这里进行比赛更好,请尝试以下表达式:

(?<=\s)(/[a-zA-Z/])+
(?这使用
split()

String[] split = myString.split(myString.substring(0, myString.lastIndexOf(" ")));        


您必须首先删除前导垃圾,然后在中间的垃圾上拆分:

String[] paths = str.replaceAll("^.*? (?=/[a-zA-Z])", "")
    .split("(?m)((?<=[a-zA-Z]/|[a-zA-Z])\\s|^).*? (?=/[a-zA-Z])");
产出(达到要求):


为什么您必须
split()
?如何只获取
/\\S*$
的匹配项?
/Thank/mate
是否应该在结尾处有一个“/”?路径是否包含空格或换行符?整行是否会乱码?
myString.split(myString.substring(0, myString.lastIndexOf(" ")))[1]; //works for current inputs
String[] paths = str.replaceAll("^.*? (?=/[a-zA-Z])", "")
    .split("(?m)((?<=[a-zA-Z]/|[a-zA-Z])\\s|^).*? (?=/[a-zA-Z])");
String str = "thisisgibberish  1234 /hello/world/\nmore gibberish 43/7 /good/timing/\njust onemore    8888  /thanks/mate";
String[] paths = str.replaceAll("^.*? (?=/[a-zA-Z])", "")
    .split("(?m)((?<=[a-zA-Z]/|[a-zA-Z])\\s|^).*? (?=/[a-zA-Z])");
System.out.println( Arrays.toString( paths));
[/hello/world/, /good/timing/, /thanks/mate]