2012-02-15 9 views
6

मैं C# का उपयोग कर एक विंडोज़ एप्लिकेशन विकसित कर रहा हूं। मैं टेक्स्ट बॉक्स में एक फ़ाइल (एचटीएमएल, txt, xhtml) लोड कर रहा हूँ। मैं अपने टेक्स्ट बॉक्स में निम्नलिखित मामलों की घटना का परीक्षण करना चाहता हूं।मल्टीलाइन टेक्स्टबॉक्स में नियमित अभिव्यक्ति की एकाधिक घटना

,(comma) with closeup text (ex. text1,text2) 
.(dot) with closeup text (ex. text1.text2) 
:(colon) with closeup text (ex. text1:text2) 
,(comma) with closeup ' i.e (left single quotation mark) 
"(doublequote) with closeup text 
'(single quote) with closeup text 
</i> with closeup text (ex. </i>text) 
</span> with closeup text. 

ऊपर हालत की सभी घटनाओं के लिए मैं पाठ बॉक्स में विशेष पाया लेख को हाइलाइट करना चाहते हैं। मैं नियमित अभिव्यक्ति का उपयोग करने की कोशिश कर रहा हूं। मैं सरणी सूची में सभी मामलों को सम्मिलित कर रहा हूं और एक-एक करके जांच कर रहा हूं। पहले मामले के लिए यदि टेक्स्टबॉक्स में टेक्स्ट hjhdf की तरह है, dfsjf तो यह संदेश बॉक्स दिखाएगा, यदि इस विशेष पाठ से पहले और बाद में कोई पाठ है तो यह संदेशबॉक्स नहीं दिखाएगा।

string regexerror = wordToFind; 
Regex myregex = new Regex("^[,]*[a-zA-Z]*$"); 
bool isexist = myregex.IsMatch(rtbFileDisplay.Text); 
if (isexist) 
{ 
    MessageBox.Show("Hi"); 
} 
+1

आप उपयोग कर सकते हैं '[^><] (<=^|>?)? (= <|? $) \ होना (\ w *) html में पाठ \ b' मैच के लिए। –

उत्तर

2

इस समय आप केवल ^ के साथ पूरे पाठ की शुरुआत से मेल खाते हैं। इसके बजाय आपको एक लाइन की शुरुआत से मेल खाने की आवश्यकता है। इस लिंक पर

देखो: http://msdn.microsoft.com/en-us/library/yd1hzczs.aspx

myregex.MultLine=true; 

यह काम करना चाहिए: यह MultiLine संपत्ति के उपयोग बताते हैं।

+0

अच्छा, क्या यह काम करता है? :-) – deadlyvices

+0

कुछ स्थितियों के लिए मुझे Regex.Split() का उपयोग करने की आवश्यकता है; तो यह ठीक काम करता है –

+0

द रेगुलेटर नामक एक टूल को देखें: http://sourceforge.net/projects/regulator/। इससे आपको रेगेक्स विकसित और परीक्षण करने में मदद मिलेगी। – deadlyvices

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