जावा में मुझे <a>
टैग्स को उस स्ट्रिंग में मिलान करने की आवश्यकता है जिसमें href विशेषता नहीं है। निम्न स्ट्रिंग में उदाहरण के लिए:<a> मिलान करने के लिए RegEx विशिष्ट विशेषता के बिना
text <a class="aClass" href="#">link1</a> text <a class="aClass" target="_blank">link2</a> text
यह <a class="aClass" href="#">link1</a>
(क्योंकि यह href शामिल हैं), लेकिन यह <a class="aClass" target="_blank">link2</a>
से मेल खाना चाहिए (क्योंकि यह href शामिल नहीं है) से मेल नहीं करना चाहिए।
मैं अपने टैग मैच के लिए रेगुलर एक्सप्रेशन से निर्माण करने में कामयाब रहे:
<a[^>]*>(.*?)</a>
लेकिन मैं समझ नहीं कैसे साथ टैग को खत्म करने href
(मैं जानता हूँ कि मैं HTML पारसर्स आदि का उपयोग कर सकते, लेकिन मैं जरूरत रेगुलर एक्सप्रेशन से साथ ऐसा करना।
तुम क्यों regex का उपयोग करना चाहिए? [एचटीएमएल एक नियमित भाषा नहीं है] (http: // stackoverflow।com/प्रश्न/1732348/regex-मैच खुले टैग को छोड़कर-एक्सएचटीएमएल-संयमी-टैग/1732454 # 1732454)। –
नियमित अभिव्यक्ति वाले HTML को पार्स करने के कई कारण हैं। कुछ संपादक खोज के लिए रेगेक्स अभिव्यक्ति के उपयोग की अनुमति देंगे और जहां एक ही संपादक "यहां अपना एचटीएमएल पार्सिंग कोड डालें" का समर्थन नहीं करता है। या बहुत बुरी तरह से स्वरूपित एचटीएमएल कोड से डेटा खींचने का प्रयास पार्सिंग त्रुटियों को फेंक सकता है। या होमवर्क असाइनमेंट ने रेगेक्स का उपयोग करने के लिए कहा और एक पार्सिंग इंजन नहीं। या क्या होगा यदि दस्तावेज़ एचटीएमएल भी नहीं था, इसके बजाय एचटीएमएल उदाहरण शामिल हैं ... सहमत हैं या असहमत हैं, एक इंजन के साथ एचटीएमएल पार्सिंग हमेशा सबसे अच्छा उपलब्ध समाधान नहीं है। –
मुझे पूरा यकीन है कि लोग बॉट की तरह स्क्रिप्ट चला रहे हैं कि, जब भी "एचटीएमएल" और "रेगेक्स" दोनों शब्दों के साथ कोई सवाल होता है, तो वे स्वचालित रूप से उस लिंक को पोस्ट करते हैं * "आप [X] HTML को पार्स नहीं कर सकते regex के साथ ... "* जवाब। प्रफुल्लित। – acdcjunior