के बजाय^^ बी के लिए RegEx यहां एक दिलचस्प है। किसी के पास सभी (पहले)^(सेकेंड) से Math.pow ((पहले), (सेकेंड) में कनवर्ट करने के लिए एक अच्छा RegEx है?पावर (ए, बी)
संपादित करें:
सबसे अच्छा मैं अब तक है
s = s.replace(/((?:\d+\.?\d*)|\w+|\((?:(?:[^\(\)]*(?:\([^\(\)]*\)))*)\))\s*\^\s*((?:\d+\.?\d*)|\w+|\((?:(?:[^\(\)]*(?:\([^\(\)]*\)))*)\))/g, 'Math.pow($1, $2)') // replace expression^expression with Math.pow($1, $2)
जवाब अब तक पर्याप्त रूप से सामान्य नहीं हैं। वे कुछ (var1 + var2)^2 को अकेले नहीं देते हैं (var1 * (var2 + var3))^2
समाधान को कोष्ठक के साथ काम करना होगा।
आप रेजीक्स को विज़ुअलाइज़ करने में मदद के लिए strfriend.com का उपयोग कर सकते हैं। यही वह है जो मैं कर रहा हूं।
और आपके पास अभी निकटतम है ...? – Oswald
'ए * बी^सी' को किस रूप में परिवर्तित करना चाहिए? 'ए^बी + सी'? 'ए^बी^सी'? –
यह सामान्य रेगेक्स के साथ नहीं किया जा सकता है। इसे मनमाने ढंग से रिकर्सन की आवश्यकता है। यदि आप एक उत्तर चाहते हैं तो मेरा सुझाव है कि आप बक्षीस बढ़ाएं, यह एक काफी शामिल समस्या है। – kelloti