मैं एचटीएमएल को पार्स करने और बदलने के लिए नियमित अभिव्यक्ति का उपयोग करने से पहले अपना पैर बंद कर दूंगा।
XSL या DOM का उपयोग करें।
दो टिप्पणियों ने मुझे स्पष्टीकरण देने के लिए कहा है। नियमित अभिव्यक्ति प्रतिस्थापन ओपी के प्रश्न में विशिष्ट मामले में काम करता है, लेकिन सामान्य नियमित अभिव्यक्तियों में एक अच्छा समाधान नहीं है। नियमित अभिव्यक्ति regular languages से मेल खा सकती हैं, यानी इनपुट का एक अनुक्रम जिसे एक सीमित राज्य मशीन द्वारा स्वीकार किया जा सकता है। एचटीएमएल में किसी भी मनमानी गहराई में नेस्टेड टैग हो सकते हैं, इसलिए यह नियमित भाषा नहीं है।
इस प्रश्न के साथ क्या करना है? ओपी के प्रश्न के लिए नियमित अभिव्यक्ति का उपयोग करना क्योंकि यह लिखा गया काम है, लेकिन क्या होगा यदि टैग के बीच की सामग्री में अन्य टैग हैं? क्या होगा यदि पाठ में एक शाब्दिक <
वर्ण होता है? जॉन टैकबरी ने सवाल पूछने के 11 महीने बाद, और मुझे लगता है कि उस समय, उसकी समस्या की जटिलता में वृद्धि हो सकती है।
नियमित अभिव्यक्तियां बहुत अच्छी हैं और मैं उन्हें हर समय उपयोग करता हूं। लेकिन इनपुट के लिए वास्तविक पार्सर के बदले उनका उपयोग करना, जिसके लिए एक बहुत ही सरल मामलों में काम करने जा रहा है। यह व्यावहारिक रूप से अनिवार्य है कि ये मामले नियमित अभिव्यक्तियों को संभालने से परे बढ़ते हैं। जब ऐसा होता है, तो आप एक और जटिल नियमित अभिव्यक्ति लिखने के लिए लुभाने लगेंगे, लेकिन ये जल्दी से विकसित और डिबग करने के लिए बहुत श्रमिक बन जाते हैं। पार्सिंग आवश्यकताओं का विस्तार करते समय नियमित अभिव्यक्ति समाधान को स्क्रैप करने के लिए तैयार रहें।
एक्सएसएल और डोम एक्सएमएल या एक्सएचटीएमएल मार्कअप के साथ काम करने के लिए डिज़ाइन की गई दो मानक तकनीकें हैं। दोनों प्रौद्योगिकियों को पता है कि संरचित मार्कअप फ़ाइलों का विश्लेषण कैसे करें, नेस्टेड टैग का ट्रैक रखें, और टैग टैग्स या सामग्री को बदलने की अनुमति दें।
यहाँ कैसे के साथ सी # डोम का उपयोग करने पर लेख की एक जोड़ी हैं::
यहाँ कैसे के साथ सी # XSL का उपयोग करने पर लेख की एक जोड़ी हैं
यहां एक है।नेट पुस्तकालय है कि HTML पर डोम और XSL संचालन सहायता करता है:
स्रोत
2008-11-18 20:04:49
[सर्वश्रेष्ठ उत्तर] (http://stackoverflow.com/a/1732454/80274) । –