मान लीजिए कि मेरे पास निम्नलिखित रेगेक्स है:
-(\d+)-
और मैं बदलने के लिए, सी #, समूह 1 का उपयोग कर चाहते हैं (\d+)के साथ AAप्राप्त करने के लिए,:
-AA-
अब मैं इसका उपयोग करके प्रतिस्थापित कर रहा हूं:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
लेकिन मुझे वास्तव में यह पसंद नहीं है, क्योंकि अगर मैं बदले के पैटर्न को बदलूं, तो मुझे _(\d+)_प्रतिस्थापन स्ट्रिंग को _AA_भी बदलना होगा , और यह DRY सिद्धांत के खिलाफ है।
मैं कुछ इस तरह की तलाश में हूँ:
मिलान किए गए पाठ को ठीक से कैसे रखें, लेकिन समूह 1 को this textसमूह 2 से बदलकर रखें another text...
संपादित करें:
यह सिर्फ एक उदाहरण था। मैं बस वही कर रहा हूँ जो मैंने ऊपर कहा था।
इसके लिए काम करना चाहिए:
anything(\d+)more_text और किसी भी पैटर्न की आप कल्पना कर सकते हैं।
मैं केवल यही करना चाहता हूं कि केवल समूहों को बदल दिया जाए, और शेष मैच को बनाए रखा जाए।
:)। मेरी राय में, यह समाधान लुकहेड और लुकबाइंड का उपयोग करने की तुलना में बहुत बेहतर और क्लीनर है।