2011-01-12 6 views
0

다음 형식의 문자열이 있는데, /로 구분 된 두 번째 마지막 문자 /jspFolderTestSecondLast/jspFolderTestLast, 만 추출하면됩니다. java regex help

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

/jspFolderTestSecondLast/jspFolderTestLast

의 길이는 다양 할 수 있지만 항상거야/마지막을 secong로 구분 될 수있다.

도움을 주시면 감사하겠습니다.

감사

+0

포함 : 당신은 무엇을 시도를? –

답변

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

이 자바 스크립트 버전 :

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

또는 잘 할 수 있습니다 그룹화 :

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