2010-01-10 12 views
7

मैं regex अभिव्यक्तियों के लिए नया हूं इसलिए क्षमा करें अगर यह वास्तव में नोब सवाल है।कैसे जांचें कि रेगेक्स अभिव्यक्ति सी # में एक संपूर्ण स्ट्रिंग से मेल खाती है या नहीं?

मेरे पास एक रेगेक्स अभिव्यक्ति है ... मैं जो करना चाहता हूं वह यह जांचना है कि स्ट्रिंग के किसी भी सबसेट से मेल खाने वाली रेगेक्स अभिव्यक्ति के बिना स्ट्रिंग पूरी तरह से रेगेक्स अभिव्यक्ति से मेल खाती है या नहीं।

उदाहरण के लिए ...

मेरी regex अभिव्यक्ति \ रों एक \ s * के एक मैच के लिए लग रही है, तो यह एक मैच लौटना चाहिए यदि स्ट्रिंग यह तुलना कर रहा है 'ए' है, लेकिन यदि यह स्ट्रिंग "एबी" की तुलना करता है तो इसे एक मैच वापस नहीं करना चाहिए।

किसी भी मदद की सराहना की जाएगी? मैं सी # में कोड।

+1

आप http://regexpal.com/ पर ऑनलाइन रेगेक्स परीक्षक का प्रयास कर सकते हैं सबसे सरल सी # रेगेक्स पैटर्न सही ढंग से परीक्षण किया जाना चाहिए। –

उत्तर

16

आप आम तौर पर शुरू अंत अंत ^ और $ एंकर respecitvely का प्रयोग करेंगे:

^\s*A*\s*$ 

ध्यान रखें कि, अगर आप regex इंजन बहु लाइन का समर्थन करता है, यह भी तार कि जब तक कई पंक्तियों अवधि पर कब्जा कर सकते हैं क्योंकि उन पंक्तियों में से एक रेगेक्स से मेल खाता है (^ के बाद से किसी भी नई लाइन या स्ट्रिंग-स्टार्ट के बाद एंकर या $ किसी भी नई लाइन या स्ट्रिंग एंड से पहले)। यदि आप केवल एक पंक्ति के खिलाफ रेगेक्स चला रहे हैं, तो यह कोई समस्या नहीं होगी।

आप यह सुनिश्चित करें कि एक बहु लाइन इनपुट केवल एक ही अपने पैटर्न से मिलकर लाइन है चाहते हैं, आप \A और \Z यदि समर्थित उपयोग कर सकते हैं - इन मतलब शुरू करने और स्ट्रिंग नई-पंक्तियों की परवाह किए बिना के अंत।

+0

धन्यवाद .. वह था। –

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