अल्फा और न्यूमेरिक पैटर्न के साथ तार ढूँढना

किसी भी विचार को जांचने का सबसे अच्छा तरीका क्या है कि किसी स्ट्रिंग में निम्न पैटर्न के साथ कोई मान है और उस मान को निकालें:

एना-आ-aaaa

ऊपर a अल्फा है और n संख्यात्मक है।

0
आपको कुछ कोशिश करनी चाहिए और जब आप अटक जाते हैं तो वापस आना चाहिए।
जोड़ा लेखक Abe Miessler, स्रोत
यदि आप अपने डेटा का उदाहरण देते हैं, जैसे a1b-cd-efgh यह प्रश्न अधिक स्पष्ट होगा। क्या आप पूरी स्ट्रिंग से मेल खाना चाहते हैं, या सिर्फ संख्यात्मक चरित्र खींचें?
जोड़ा लेखक paqogomez, स्रोत

1 उत्तर

आप इसे एक साधारण नियमित अभिव्यक्ति के साथ उपयोग कर सकते हैं:

 Regex.Match(value, @"\p{L}\d\p{L}-\p{L}{2}-\p{L}{4}")

यह एक <कोड उत्पन्न करता है > मिलान ऑब्जेक्ट (जो सफलता )। एक सफल मैच का मूल्य प्राप्त करना वांछित सबस्ट्रिंग का उत्पादन करेगा।

Above, \p{L} matches a letter, \d matches a decimal digit, and - matches a dash. When followed by {}, an expression requires a specific number of matches.

0
जोड़ा
@ निकोलस कैरी सुधार के लिए धन्यवाद, मैंने \ d का उपयोग करने के लिए उत्तर बदल दिया। धन्यवाद!
जोड़ा लेखक dasblinkenlight, स्रोत
आपको \ p {N} की वरीयता में \ p {Nd} (संख्या, दशमलव अंक) या \ d का उपयोग करना चाहिए। पहले दो मैच को दशमलव अंकों तक प्रतिबंधित करते हैं; उत्तरार्द्ध मैच ... दशमलव अंकों से अधिक: इसके अलावा ओटी <कोड> एनडी , यह श्रेणियों <कोड> एनएल (संख्या, पत्र) और <कोड> नहीं से मेल खाता है (संख्या, अन्य)। "संख्या, पत्र" रोमन अंकों, क्यूनिफॉर्म, रूनिक इत्यादि जैसी चीजों से मेल खाता है। fileformat.info/info/unicode/category/Nl/list.