2012-10-05 9 views
11

मैं निम्नलिखित कसौटीएक स्ट्रिंग regex कैसे - लंबाई 8, पहले वर्ण पत्र और शेष सांख्यिक

  • लंबाई 8 एक पत्र
  • प्रथम चरित्र होना चाहिए के साथ एक स्ट्रिंग के मिलान से एक रेगुलर एक्सप्रेशन से बनाने के लिए कोशिश कर रहा हूँ az या AZ
  • शेष 7 सांख्यिक 0-9

उदाहरण

    012 होना चाहिए
  • a5554444
  • B9999999

यह वही है मैं अब तक

^[0-9]{8}$ 

है क्या मैं पहले अक्षर की जाँच करने के याद आ रही है c0999999? मैंने

^[a-zA-Z][0-9]{8}$ 

लेकिन यह काम नहीं कर रहा है।

उत्तर

36

मुझे लगता है कि यह तुम क्या चाहते है:

^[a-zA-Z][0-9]{7}$ 

{...} metacharacter केवल सबसे पिछले पैटर्न जो आपके मामले में है [0-9] से मेल खाता है। स्ट्रिंग (^)

  • मैच किसी भी चरित्र az या AZ ([a-zA-Z]) पहले स्थान केवल एक बार
  • में की शुरुआत में

    1. शुरू: रेगुलर एक्सप्रेशन व्याख्या इस प्रकार है
    2. मैच किसी भी चरित्र 0-9 दूसरे स्थान पर शुरू ([0-9])
    3. पूर्ववर्ती पैटर्न [0-9] मौजूद होना चाहिए वास्तव में 7 बार ({7})
    के चरण 3 में वर्णित

    जब आप अपने मूल प्रश्न के अनुसार {8} डालते हैं, तो आप एक स्ट्रिंग लंबाई कुल 9 मान लेंगे: पहला वर्ण वर्णमाला मामला असंवेदनशील है और शेष 8 वर्ण संख्यात्मक हैं।

    +0

    विस्तृत प्रतिक्रिया के लिए धन्यवाद। –

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