के साथ नियमित अभिव्यक्ति का सही ढंग से काम नहीं मिल सकता है मेरे पास एक एप्लिकेशन से काफी बड़ा एक्सएमएल आउटपुट है। मुझे इसे अपने प्रोग्राम के साथ संसाधित करने की आवश्यकता है और फिर इसे मूल कार्यक्रम में वापस खिलाएं। इस एक्सएमएल में ऐसे टुकड़े हैं जिन्हें हमारे प्रतिस्थापित करने की आवश्यकता है। दिलचस्प हिस्सा इस तरह दिखता है:मल्टीलाइन
<sys:customtag sys:sid="1" sys:type="Processtart" />
<sys:tag>value</sys:tag>
here are some other tags
<sys:tag>value</sys.tag>
<sys:customtag sys:sid="1" sys:type="Procesend" />
और दस्तावेज़ में इस तरह के कई टुकड़े हैं।
मुझे इन टैग्स के अंदर सभी एक्सएमएल टुकड़े प्राप्त करने की आवश्यकता है ताकि वे इसमें संशोधन कर सकें। मैं उन टुकड़ों पाने के लिए एक नियमित अभिव्यक्ति लिखा था लेकिन यह काम नहीं करता:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"output.xml");
Regex regExp = new Regex(@"<sys:customtag(.*?)Processtart(.*?)/>(.*?)<sys:customtag (.*?)Procesend(.*?)/>", RegexOptions.Multiline & RegexOptions.IgnorePatternWhitespace & RegexOptions.CultureInvariant);
MatchCollection matches = regExp.Matches(xmlDoc.InnerXml);
मैं एक लाइन में पूरे सामान छोड़ने के लिए और बहु विकल्प के बिना इस regexp कॉल करते हैं, यह हर आवृत्तियां मिल रहा है। फ़ाइल को छोड़कर और मल्टीलाइन विकल्प सेट करके, यह काम नहीं करता है। समस्या क्या है, मुझे क्या बदलना चाहिए? या regexp के बिना इन टैग्स के बीच एक्सएमएल भागों को पाने का कोई आसान तरीका है?
यह है कि, धन्यवाद। मेरा मतलब multiline = बहु लाइन मोड भी था। – Biri