मुझे एक आवश्यकता है जो कहती है कि नाम उनके मामले को अनदेखा करने वाले 3 समान अक्षरों से शुरू नहीं होना चाहिए। एक नाम ऊपरी केस अक्षर के साथ शुरू होता है जिसके बाद लोअर केस अक्षर होते हैं।संबंधित लोअर केस अक्षर के बाद किसी भी अपरकेस अक्षर से कैसे मिलान करें?
मूल रूप से मैं पूरे नाम को ऊपरी मामले में परिवर्तित कर सकता हूं और फिर (\p{Lu})\1{3,}.*
जैसे रेगेक्स से मेल खाता हूं।
लेकिन मैं सोच रहा था कि उपरोक्त आवश्यकताओं से मेल खाने वाले रेगेक्स मौजूद हैं और स्ट्रिंग के किसी प्रीप्रोकैसिंग की आवश्यकता नहीं है। तो Aa
, Dd
या Uu
जैसे तारों से मिलान करने के लिए मैं किसी भी संभावित संयोजन को स्पष्ट रूप से निर्दिष्ट किए बिना रेगेक्स का उपयोग कर सकता हूं?
संपादित करें:
मैंने मार्कोस के जवाब को स्वीकार किया। मुझे इसे लंबाई 1 और दो के नाम से काम करने के लिए ठीक करने की आवश्यकता है और शुरुआत में इसे एंकर करना है। तो मेरे उपयोग के मामले के लिए वास्तविक regex ^(\p{Lu})(\p{Ll}?$|(?=\p{Ll}{2})(?i)(?!(\1){2}))
है।
मैंने रेगेक्स में एक सबक सीखने में मेरी सहायता के लिए Evgeniy और sp00m के उत्तरों को भी ऊपर उठाया।
आपके प्रयासों के लिए धन्यवाद।
'(? I) (\ p {Lu}) \ 1 {2,}। *' नहीं करेगा, लेकिन 2 को इंगित करना चाहता था, क्योंकि एक पत्र पहले से मेल खाता है। –