तो यह क्यों काम नहीं कर रहा है? मैं एक रेगेक्स बना रहा हूं जो एक सूत्र से मेल खाएगा (जो तब एक बड़े मानक वर्णन का हिस्सा है)। लेकिन मैं यहां फंस गया हूं, क्योंकि ऐसा लगता है कि यह सूत्र के भीतर एम्बेडेड सूत्रों से मेल नहीं खाता है।रूबी रिकर्सिव रेगेक्स
stat = /(Stat3|Stat2|Stat1)/
number_sym = /[0-9]*/
formula_sym = /((target's)?#{stat}|#{number_sym}|N#{number_sym})\%?/
math_sym = /(\+|\-|\*|\/|\%)/
formula = /^\((#{formula}|#{formula_sym})(#{math_sym} (#{formula}|#{formula_sym}))?\)$/
p "(target's Stat2 * N1%)".match(formula).to_s #matches
p "((target's Stat2 * N1%) + 3)".match(formula).to_s #no match
p "(Stat1 + ((target's Stat2 * N1%) + 3))".match(formula).to_s #no match
धन्यवाद ... और मुझे पता चला कि यह क्यों काम नहीं कर रहा था ... अनुमान है कि मुझे अपने प्रश्न का अनुवाद करना चाहिए था कि "मैं इसे कैसे काम कर सकता हूं" .... ऐसा लगता है कि # {formula.source} ने दिखाया है कि सूत्र अभी भी शून्य था। –