आज मैं निम्नलिखित नियमित अभिव्यक्ति में आए में एक परिमाणक रूप में इस्तेमाल किया और पता करने के लिए रूबी इसके साथ क्या करना होगा क्या चाहता है:अर्थ एक `+` के बाद एक `*` हुए, जब उसे एक रेगुलर एक्सप्रेशन
> "#a" =~ /^[\W].*+$/
=> 0
> "1a" =~ /^[\W].*+$/
=> nil
इस उदाहरण में, रूबी +
चरित्र को अनदेखा कर रहा है। यदि यह गलत है, तो मुझे यकीन नहीं है कि यह इसके साथ क्या कर रहा है। मुझे लगता है कि इसे क्वांटिफायर के रूप में नहीं समझा जा रहा है, क्योंकि *
बच निकला नहीं है और क्वांटिफायर के रूप में उपयोग किया जा रहा है। पर्ल/रूबी रेगेक्स में, कभी-कभी जब एक चरित्र (उदा।, -
) का उपयोग उस संदर्भ में किया जाता है जिसमें इसे विशेष चरित्र के रूप में नहीं समझा जा सकता है, इसे शाब्दिक माना जाता है। लेकिन अगर यह इस मामले में हो रहा था, तो मैं उम्मीद करता हूं कि पहला मैच विफल हो जाएगा, क्योंकि lvalue स्ट्रिंग में +
नहीं है।
क्या यह +
चरित्र का एक संक्षिप्त रूप से सही उपयोग है? उपर्युक्त व्यवहार एक बग है? क्या मुझसे साफ़ - साफ़ कुछ चीज़ चूक रही है?
आप इस रेगेक्स में कहां आए? –
कुछ तीसरे पक्ष की सुरक्षा सामग्री में मेरे काम के दौरान सामना करना पड़ा। मैं अनुमान लगा रहा हूं कि रेगेक्स लेखक का इरादा नहीं है, लेकिन जब मैंने रुबी के व्यवहार को देखा, तो मुझे इस धारणा के बारे में प्रश्न पूछना शुरू हो गया। –