2012-11-15 2 views
0

정규 표현식은 (\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)이 정규 표현식에 대한 예제를 제공해 주시겠습니까?

Pattern pattern = Pattern.compile("(\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)") 
String s = "xxxxxx"; //this is what I want 
Matcher matcher = pattern.matcher(s); 
System.out.println(matcher.find()); // I hope "true" 

가 아마 여기에 도움을 요청 적합하지 것입니다. 그러나 저는 정규 표현식에 익숙하지 않아 결과를 빨리 알아야합니다.

나는 복잡성을 줄이고 몇 가지 방법을 시도했다. 내가 그들을 결합 할 경우 (\\w+).*>(.{23})

  • (\\a)([^\\[]+)
  • 에 OK입니다 만에

    • abbb>(ccccccccccccccccccccddddddddddcc)은 OK입니다.

      (\\w+).*>(.{23}) ([^\\[]+) 그래서 내가, 특히 ([^\\[]+)\\[([^\\]]+)]: (.+) 일부 혼란 스러워요에

      abbb>(ccccccccccccccccccccddddddddddcc) (\\a) 확인하지 않습니다. 감사합니다. .

    +2

    당신은 정규 표현식을 사용하여 달성하고 싶은 것을 설명해 주시겠습니까? 당신의 예는 흥미롭지 만 무엇이 필요한지 이해하는 데 도움이되지 않습니다. – AlexR

    +0

    또한 정규식을 사용하려는 위치를 언급하십시오. 다양한 정규 표현식이 있으므로 정규 표현식의 의미는 사용하는 소프트웨어에 따라 다릅니다 # – sleske

    +0

    Java의 경우이 온라인 테스터를 사용하는 것이 좋습니다. http://www.regexplanet.com/advanced/java /index.html – jlledom

    답변

    0

    귀하의 질문은 매우 명확하지 않다, 그러나 당신이 당신의 정규 표현식과 일치하는 문자열을 필요한 경우, 나는 당신을 위해 몇 가지했다 : 그들 모두 "(\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)" 일치

     
    matches:true, string:word-0>kiOgNnuGfalhTfkqxtsCyhN f[RxQrH]: tqtmY 
    matches:true, string:word-1>wlnJomNExhCLHjrmsyLsKhh g[fXSsPYD]: BbzUM 
    matches:true, string:word-2>pdTepooJdeDgnODUAJMMPtB Pf[d]: aqmYx 
    matches:true, string:word-3>jMNDTuvCBufSEAxuzPDmyFG xt[T[RJjQEpJ]: bdlLS 
    matches:true, string:word-4>kHwqbjwNrSqhGeutzxtqiEy f[SmjJVt]: dWwlU 
    matches:true, string:word-5>UreUxUwpIyHqPXqVlALIlmr vuJScq[QFIpLCplW]: UuL0K 
    matches:true, string:word-6>dojPDeXqAfsHvGjOfvyZOtR aq[ImRqDn]: eyqlr 
    matches:true, string:word-7>ViljtcHRPzMjktFzqwDcprB le[U]: yfohG 
    matches:true, string:word-8>sjtQoCTupFbYqzhxcnrPbMh hhR[gufba]: DmREu 
    matches:true, string:word-9>ZauFhTHuvuXcqlymybjYHzj yv[FAaupu]: ZtrqL 
    

    을하고 그 목록은 내가 쓴 일부 코드에 의해 생성 된 진짜 빠른 :

    // generate some strings.... 
    for (String string : full) { 
        Pattern pattern = Pattern.compile("(\\w+).*>(.{23}) ([^\\[]+)\\[([^\\]]+)]: (.+)"); 
        Matcher matcher = pattern.matcher(string); 
        System.out.println("matches:" + matcher.find() + ", string:" + string); 
    } 
    
    +0

    과 일치하는 것을 볼 수 있습니다. ** 전체 ** 목록을 얻었습니까? –

    +0

    그것은 내 자신의 코드 중 일부로 구성되었고 임의의 문자 생성기와 http://code.google.com/p/xeger/를 사용하여 표현을 5 개로 분할하고 각각을 개별적으로 결합하여 함께 연결했습니다 . 외부 종속성 때문에 코드를 게시하지 않았습니다. – epoch

    0
    ([^\[]+) is what ever exept '[' one or more times 
    \[([^\]]+)]: (\.+) '[' what ever except ']' one or more times ']' : a space and 
    one ore more dots 
    

    이것이 일치 예 '각종 [보호 프로파일] : ...'

    괄호 그룹을 나타낸다.

    +0

    에 따라 ** ([^ \\ [] +) \\ (([^ \\]] +)] : (. +) ** ** ** oo [pp] 테스트 –

    +0

    아직 알지 못했다면 여기로 가십시오 myregexp.com. 정규식의 경우 [^ \ [] + \ [[^ \]] + \] : +이 그룹화를하지 않고 정규 표현식을 작성하고 'oo [pp] : ...'를 쓰면 – ddarellis

    관련 문제