2012-12-06 23 views
10

मुझे आश्चर्य है कि कोड की यह पंक्ति एक यूआरएल में क्या करती है जो सरल नामक स्ट्रिंग में निहित है?नियमित अभिव्यक्ति \ s *, \ s * क्या करती है?

String[] stokens = surl.split("\\s*,\\s*"); 

नाटक इस SURL = है की सुविधा देता है "http: // myipaddress: 8080/मानचित्र/MapServer.html" stokens क्या होगा?

+7

यह "अल्पविराम, जो 0 या अधिक व्हाइटस्पेस से घिरा हुआ जा सकता है" द्वारा विभाजित होता है। आपके दिए गए स्ट्रिंग में, कोई विभाजन नहीं होगा। –

उत्तर

15

कि regex "\\s*,\\s*" का अर्थ है:

  • \s* खाली स्थान के वर्णों की संख्या
  • एक अल्पविराम
  • \s* खाली स्थान के पात्रों

जो अल्पविराम के पर विभाजित है और किसी भी रिक्त स्थान की खपत होगी के किसी भी संख्या या तो

+1

जावा रेगेक्स में संदेह से बचने वाली बैकस्लाश एक शाही दर्द है। –

+1

@tom हाँ - मैं विशेष रूप से एक रेगेक्स में एक शाब्दिक baskslash कोडिंग का आनंद लें: '\\\\' – Bohemian

3
  • \ "व्हाइटस्पेस चरित्र" के लिए खड़ा है।
  • इसमें [\ t \ r \ n \ f] शामिल है। वह है: \ s एक स्थान, एक टैब, एक पंक्ति ब्रेक, या एक फॉर्म फ़ीड से मेल खाता है।

    \ s *, \ s *

    \ s * - खाली स्थान के पात्रों में से शून्य या अधिक घटना, एक अल्पविराम के द्वारा पीछा किया और उसके बाद खाली स्थान के पात्रों में से शून्य या अधिक घटना के बाद कहते हैं।

इन्हें संक्षिप्त हाथ अभिव्यक्ति कहा जाता है।

आप इस साइट में इसी तरह regex पा सकते हैं: http://www.regular-expressions.info/shorthand.html

संबंधित मुद्दे