c# - Regex: Why no group for every found item? -


मेरे पास निम्न पाठ है:

  & lt; i & gt; & lt; b & gt; यह है ज़ाहिर तेजी से। & Lt; / b & gt; & lt; / i & gt; & Lt; i & gt; & lt; b & gt; वे कम डिस्क स्थान लेते हैं। & Lt; / i & gt;  

और निम्नलिखित regex:

  (& lt; / [b | i | u] & gt;) + (\ s *) (& lt; [ बी | i | u] & gt;) +  

मिलान निम्न समूह बनाता है:

  0: & lt; / b & gt; & lt; / i & gt; & Lt; p & gt; & lt; i & gt; 1: & lt; / i & gt; 2: रिक्त स्थान 3: & lt; b & gt;  

मैं अपने regex को कैसे बदल सकता / सकती हूं, इससे ऐसा समूह तैयार होता है:

  0: & lt; / b & gt; & lt; / i & gt; & Lt; p & gt; & lt; i & gt; 1: & lt; / b & gt; 2: & lt; / i & gt; 3: रिक्त स्थान 4: & lt; i & gt; 3: & lt; b & gt;  

मुझे संदेह है कि आपको पहले से ही मिल गया है कि आपको क्या चाहिए - आपको केवल इसकी गणना करने की ज़रूरत है प्रत्येक समूह के लिए कब्जा यह एक नमूना प्रोग्राम है जो दिखा रहा है कि कार्य में:

  सिस्टम का उपयोग कर; System.Text.RegularExpressions का उपयोग कर; क्लास टेस्ट {स्टैटिक void Main () {string text = "& lt; i & gt; & lt; b & gt; यह ज़ाहिर है तेज। & Lt; / b & gt; & lt; / i & gt; & lt; i & gt; & lt; b & gt; वे कम डिस्क स्थान लेते हैं & lt; / i & gt; "; रेगेक्स पैटर्न = नया रेगेक्स (@ "(& lt; / [b | i | u] & gt;) + (\ s *) (& lt; [बी | i | u] & gt;)"); मिलान मैच = पैटर्न। मैच (टेक्स्ट); विदेशी मुद्रा (मैच समूह में समूह समूह) {Console.WriteLine ("अगला समूह:"); विदेशी (समूह में कब्जा कैप्चर करें। कैप्चर) {Console.WriteLine ("" + capture.Value); }}}}  
पर क्लिक करें

Comments