मैं एक नियमित अभिव्यक्ति लिखने की कोशिश कर रहा हूं जो एक मार्कडाउन-शैली लिंक को प्रतिस्थापित करता है लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है।regex का उपयोग कर मार्कडाउन-स्टाइल लिंक को कैसे परिवर्तित करें?
# ruby code:
text = "[link me up](http://www.example.com)"
text.gsub!(%r{\[(\+)\]\((\+)\)}x, %{<a target="_blank" href="\\1">\\2</a>})
क्या मैं गलत कर रहा हूँ: यह क्या मैं अब तक किया है?
def linkup(str)
str.gsub %r{
\[ # Literal opening bracket
( # Capture what we find in here
[^\]]+ # One or more characters other than close bracket
) # Stop capturing
\] # Literal closing bracket
\( # Literal opening parenthesis
( # Capture what we find in here
[^)]+ # One or more characters other than close parenthesis
) # Stop capturing
\) # Literal closing parenthesis
}x, '<a href="\2">\1</a>'
end
text = "[link me up](http://www.example.com)"
puts linkup(text)
#=> <a href="http://www.example.com">link me up</a>
ध्यान दें कि उपर्युक्त URL कि अधिकार है के लिए असफल हो जायेगी:
(जैसे अद्भुत [kramdown] http एक पूर्ण रूबी Markdown पुस्तकालय का उपयोग क्यों नहीं, : //kramdown.rubyforge.org/)? – Phrogz
क्योंकि मुझे केवल मार्कडाउन सुविधाओं के सीमित सबसेट की आवश्यकता है और मुझे एक लाइब्रेरी नहीं मिली है जो मुझे यह निर्दिष्ट करने की अनुमति देती है कि मैं कौन सी विशेषताओं का समर्थन करना चाहता हूं (इसलिए मुझे अपना खुद का लिखना है)। – Andrew