2011-01-12 39 views
0

我有一個以下格式的字符串,我只需要提取​​, 這是第二個由/分隔的。java正則表達式幫助

www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast 

​​的長度可以變化,但總是會由secong最後/分離。

任何幫助表示讚賞。

感謝

+0

像往常一樣:你嘗試過什麼? – 2011-01-12 17:03:30

回答

1

您不需要任何正則表達式,因爲您可以將字符串拆分爲'/'並獲取兩個最後一個數組索引。但這裏的正則表達式反正:

^.+(/[^/]+)(/[^/]+)$ 

$ 1包含第一和$ 2包含第二塊

1
String str = "www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast"; 

String are[] = str.split("/");//may be you need to add escape here 
//take last two parts 
2
String s = "www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast" 
String[] parts = s.split("/"); 
String whatYouWant = parts[parts.length-2] +"/" + parts[parts.length-1] 
1
Pattern p = Pattern.compile(".*(/[^/]+/[^/]+)$"); 
    Matcher m = p.matcher("a/b/c/d.txt"); 
    if(m.matches()) { 
     System.out.println(m.group(1)); 
    } 
1

這是JavaScript版本:

"www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast".search(/\/[^\/]*\/[^\/]*$/) 

,或者你可以將它們很好地:

(/(\/[^\/]*)(\/[^\/]*)$/)