क्या क्वांटिफ़ायर का उपयोग कर रहे रेगेक्स से एकाधिक कैप्चर समूह प्राप्त करने का कोई तरीका है?क्वांटिफायर का उपयोग कर एकाधिक रेगेक्स कैप्चर समूह
<td>Data 1</td>
<td>data 2</td>
<td>data 3</td>
<td>data 4</td>
अभी, अगर मैं इस तरह एक regex बारे में:
(?:<td>(.+?)<\/td>\s*){4}
मैं केवल एक साथ खत्म उदाहरण के लिए, मैं (से निपटने के लिए मैं क्या है से सरलीकृत) इस डेटा है कहना समूह को पकड़ें, अंतिम एक "डेटा 4"।
<td>(.+?)<\/td>\s*<td>(.+?)<\/td>\s*<td>(.+?)<\/td>\s*<td>(.+?)<\/td>
हाँ, मुझे अच्छी तरह पता है कि मैं इस हैक कर सकते हैं कि हूँ: वहाँ परिमाणक का उपयोग करें और 4 पर कब्जा समूहों के साथ समापन, या हूँ मैं इस तरह regex लिखने के लिए मजबूर कर दिया है कि मैं क्या चाहते हैं करने के लिए एक रास्ता है सरल उदाहरण प्रोग्रामेटिक रूप से बहुत आसान है और फिर लागू करें और आवश्यक regexes या सरल पैटर्न मिलान। जिस डेटा के साथ मैं काम कर रहा हूं वह कहीं अधिक जटिल है और मैं वास्तव में सभी पार्सिंग को संभालने के लिए रेगेक्स का उपयोग करना चाहता हूं।
मुझे लगता है कि आप पिछले पैराग्राफ याद किया। यह "रेगेक्स के साथ कुछ संभव है" का सवाल है, न कि "एचटीएमएल पार्स करने का सबसे अच्छा तरीका क्या है"। –
मैंने अपनी पहली टिप्पणी हटा दी है, लेकिन मैं इस बात से असहमत हूं कि यहां अवधारणा का पीछा करने लायक है। Regex * बहुत * सरल मामलों में HTML को पार्स करने के लिए केवल अच्छा है। ऐसा नहीं है। – lonesomeday
फिर, यह एचटीएमएल को पार्स करने के बारे में नहीं है, इसके बारे में यह है कि रेगेक्स क्वांटिफायर का उपयोग करके कई समूहों को कैप्चर कर सकता है या नहीं। बिंदु को चित्रित करने के लिए यह एक साधारण उदाहरण है। –