मैं कैसे की जाँच करेगा जावा में एक स्ट्रिंग इनपुट प्रारूप है:विशेष जावा नियमित अभिव्यक्ति
xxxx-xxxx-xxxx-xxxx
जहां X एक अंक 0..9 है?
धन्यवाद!
मैं कैसे की जाँच करेगा जावा में एक स्ट्रिंग इनपुट प्रारूप है:विशेष जावा नियमित अभिव्यक्ति
xxxx-xxxx-xxxx-xxxx
जहां X एक अंक 0..9 है?
धन्यवाद!
जावा में स्ट्रिंग वस्तुओं एक matches
विधि है जो एक नियमित अभिव्यक्ति के खिलाफ जांच कर सकते हैं:
myString.matches("^\\d{4}(-\\d{4}){3}$")
चार अंक के लिए यह विशेष रूप से अभिव्यक्ति की जाँच करता है, और फिर तीन बार (एक हाइफन और चार अंक), इस प्रकार का प्रतिनिधित्व करने के लिए अपने आवश्यक प्रारूप
शुरू करने के लिए, यह regexps का एक बड़ा स्रोत है: http://www.regular-expressions.info। इसे देखें, पोक करें और चारों ओर खेलते हैं। इसके अलावा java.util.Pattern
एपीआई में रेगेक्स पैटर्न के संक्षिप्त overview है।
अब, अपने प्रश्न पर वापस जाएं: आप चार अंकों के लगातार चार समूहों को एक हाइफ़न से अलग करना चाहते हैं।
\d{4}-\d{4}-\d{4}-\d{4}
इसे कम तुम भी की एक एकल समूह का प्रतिनिधित्व कर सकते हैं बनाने के लिए: 4 अंक की एकल समूह regex में के रूप में
\d{4}
एक हाइफन से अलग कर दिया उन लोगों में से चार दर्शाया जा सकता है के रूप में प्रतिनिधित्व किया जा सकता है चार अंक और चार अंक की लगातार तीन समूहों आगे हाइफ़न के साथ:
\d{4}(-\d{4}){3}
अब, जावा में आप String#matches()
उपयोग कर सकते हैं एक स्ट्रिंग दी से मेल खाता है कि क्या परीक्षण करने के लिए regex।
boolean matches = value.matches("\\d{4}(-\\d{4}){3}");
ध्यान दें कि मैं बैकस्लैश एक और बैकस्लैश \
द्वारा \
बच गए, क्योंकि बैकस्लैश String
में एक विशेष अर्थ नहीं होता। वास्तविक बैकस्लैश का प्रतिनिधित्व करने के लिए, आपको \\
का उपयोग करना होगा।
मेरा उत्तर हटा दिया - मैंने अपने सिर में "जावास्क्रिप्ट" पढ़ा: पी –