我有一個以下格式的字符串,我只需要提取, 這是第二個由/分隔的。java正則表達式幫助
www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast
的長度可以變化,但總是會由secong最後/分離。
任何幫助表示讚賞。
感謝
我有一個以下格式的字符串,我只需要提取, 這是第二個由/分隔的。java正則表達式幫助
www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast
的長度可以變化,但總是會由secong最後/分離。
任何幫助表示讚賞。
感謝
您不需要任何正則表達式,因爲您可以將字符串拆分爲'/'並獲取兩個最後一個數組索引。但這裏的正則表達式反正:
^.+(/[^/]+)(/[^/]+)$
$ 1包含第一和$ 2包含第二塊
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
String s = "www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast"
String[] parts = s.split("/");
String whatYouWant = parts[parts.length-2] +"/" + parts[parts.length-1]
Pattern p = Pattern.compile(".*(/[^/]+/[^/]+)$");
Matcher m = p.matcher("a/b/c/d.txt");
if(m.matches()) {
System.out.println(m.group(1));
}
這是JavaScript版本:
"www.name.com/jspFolderTestOne/jspFolderTestTwo/jspFolderTestAndmanyMore/jspFolderTestSecondLast/jspFolderTestLast".search(/\/[^\/]*\/[^\/]*$/)
,或者你可以將它們很好地:
(/(\/[^\/]*)(\/[^\/]*)$/)
像往常一樣:你嘗試過什麼? – 2011-01-12 17:03:30