c# - Regex not working to capture html tags -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 35 उत्तर

मेरे पास एक नियमित अभिव्यक्ति है स्ट्रिंग से एचटीएमएल टैग्स को कैप्चर करें यह बहुत अच्छी तरह से काम करता है लेकिन मुझे कोई ऐसा मामला मिल गया है कि यह काम नहीं कर रहा है।

जब मेरे पास टैग "attribute-xxxx-xxxx" विशेषता द्वारा टैग किया जाता है, तो टैग को अनदेखा कर दिया जाता है। अगर मैं एक ही विशेषता को अंतिम स्थिति में ले जाता हूं, तो यह काम करता है। अगर मैं शब्द से "-" को निकाल देता हूं, तो यह काम करता है।

मेरी नियमित अभिव्यक्ति में कुछ गुम है, लेकिन मैं इसे ठीक करने का समाधान नहीं मिल पा रहा हूं।

यहां एक उदाहरण है जो काम करता है:

  & lt; td & gt; जाओ? & Lt; a href = "$ VAR" लक्ष्य = "_ रिक्त" डेटा-लिंक-श्रेणी = "बिल्ली" डेटा-लिंक-नाम = "bla" & gt; क्लिक करें & lt; / a & gt; & lt; / td & gt; & LT; टीडी & gt; जाओ? & Lt; a datalinkcategory = "cat" href = "$ VAR" लक्ष्य = "_ रिक्त" डेटा-लिंक-नाम = "bla" & gt; क्लिक करें & lt; / a & gt; & lt; / td & gt;  

एक उदाहरण जो काम नहीं करता:

  & lt; td & gt; जाओ? & Lt; एक डेटा-लिंक-श्रेणी = "बिल्ली" href = "$ VAR" लक्ष्य = "_ रिक्त" डेटा-लिंक-नाम = "bla" & gt; क्लिक करें & lt; / a & gt; & lt; / td & gt;  

और मेरी नियमित अभिव्यक्ति:

  Regex htmlRegex = नया रेगेक्स (@ "(& lt;! -) | (- & gt;) | ( ? से & lt; \ s / \ w + ((\ s + \ w + (\ s * = \ s * (?: ""।? (| \ रों) * "" | '।? (| \ रों) *' | [^ ' "" & gt; \ रों]))) + \ s * | \ s *) / & gt;?) ");  

मैं कथन की शुरुआत में "डेटा-xxxx-xxxx" जैसी विशेषताओं जैसे टैग वाले मिलान करने के लिए नियमित अभिव्यक्ति कैसे बदल सकता हूं?

अग्रिम धन्यवाद। < हालांकि मैं सहमत हूं कि regex के साथ HTML को पार्स करने के लिए यह एक बहुत अच्छा विचार नहीं है, इस उदाहरण में आप प्रारंभिक विशेषता चेक में शब्द वर्णों के मिलान के साथ एक वर्ण समूह में हाइफ़न जोड़कर regex:

  (& lt;! -) | (- & gt;) | (& lt; ? \ s \ / \ w + ((\ रों + [\ w -] (\ s * \ s * (?: = "(|।? \ रों) *" | '।? (| \ रों) *' | [^ '^' & Gt; \ s] +))?) + ^ S * | \ s *) \ /? & Gt;) ^^^^^ परिवर्तन यहां है, अब शब्द अक्षर या हाइफ़िक्स के खिलाफ मैच है  

जो आपके सभी 3 उदाहरण टैगों से मेल खाता है।

कृपया ध्यान दें कि यह संभवतः अभी भी सभी प्रकार की चीज़ों को मेल करेगा (या मैच नहीं होगा) हो।


Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -