2011-01-12 7 views
0

私は以下のフォーマットの文字列を持っていますが、最後に/で区切られた​​、 を抽出する必要があります。java regex help

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

​​は長さで変化させることができるが、常につもり最後の/をsecongで区切ること。

何か助けていただければ幸いです。

おかげ

+0

が含まれています:あなたは何を試してみましたか? –

答えて

1

文字列を '/'に分割して最後の2つの配列インデックスを取得するだけで済みますので、正規表現は必要ありません。しかし、ここで正規表現はとにかくだ:

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

$ 1は、第1が含まれていると$ 2は、第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(/\/[^\/]*\/[^\/]*$/) 

またはグループ化することができ、それらを:

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