के बीच अंतर मैंने उदाहरणों को सरल बना दिया है। मान लें कि मेरे पास एक स्ट्रिंग के लिए कोड युक्त एक स्ट्रिंग है। मैं एक शाब्दिक बिंदु का मिलान करने के लिए regex चाहते हैं और इस तरह मैं इसे होना चाहते हैं:रुबी रेगेक्सपी: एकल और यूनियन के बीच एक एकल regexp
\.
तो मैं निम्नलिखित रूबी स्ट्रिंग बनाने के लिए:
"\\."
लेकिन जब मैं करने के लिए Regexp.union के साथ उपयोग करें
irb(main):017:0> Regexp.union("\\.")
=> /\\\./
कि एक स्लेश एक बिंदु ही नहीं, एक भी डॉट के बाद मिलान हो जाएगा: मेरी regex बनाने के लिए, मैं इस मिलता है। यह करने के लिए पिछले परिणाम की तुलना करें:
irb(main):018:0> Regexp.new("\\.")
=> /\./
जो लेकिन Regexp मैं चाहता हूँ देता जरूरत संघ के बिना।
क्या आप समझा सकते हैं कि रूबी इस तरह क्यों कार्य करती है और रेगेक्स के सही संघ को कैसे बनाते हैं? उपयोग का संदर्भ रेज़ेक्स का वर्णन करने वाले जेएसओएन तारों को आयात करने और रूबी में उन्हें संघबद्ध करने का है।