शुरू करेंमुफ़्त में शुरू करें

प्रश्नवाचक चिन्ह और उसके दो अर्थ

Or ऑपरेटर तब अच्छा है जब आपको ठीक-ठीक मालूम हो कि कौन-कौन से विकल्प मान्य हैं, और यह भी पक्का हो कि उनमें से कोई एक मौजूद है। लेकिन अगर आप ऐसा पैटर्न मैच करना चाहें जिसमें कोई हिस्सा कभी मौजूद हो और कभी न हो? यहीं प्रश्नवाचक चिन्ह ? काम आता है:

? पिछले ग्रुप या अक्षर को वैकल्पिक बनाता है। इसके साथ, रेगुलर एक्सप्रेशन तब भी मैच करेगा जब पैटर्न का कोई हिस्सा गायब हो। लेकिन ध्यान रखें, अगर यह * या + जैसे मल्टिप्लायर के बाद आता है, तो प्रश्नवाचक चिन्ह का एक दूसरा असर भी हो सकता है:

? पिछले मल्टिप्लायर को "greedy" की जगह "lazy" भी बना सकता है। यानी, सामान्य तौर पर रेगुलर एक्सप्रेशन जहाँ अधिकतम अक्षरों तक मैच ढूँढता है, वहाँ ? न्यूनतम आवश्यक टेक्स्ट मैच ढूँढने की दिशा में काम करता है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

R में Intermediate Regular Expressions

पाठ्यक्रम देखें

अभ्यास निर्देश

  • आखिरी "s" को वैकल्पिक बनाकर "Screen" (एकवचन) और "Screens" (बहुवचन) दोनों मैच करें.
  • कॉमा से पहले मनमाने अक्षरों की कोई भी लंबाई मैच करने के लिए .* का उपयोग करें.
  • यही पैटर्न स्टार के बाद प्रश्नवाचक चिन्ह ? लगाकर भी मैच करें — क्या आपको फर्क नज़र आता है?

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Match both Screen and Screens by making the last "s" optional
str_match(lines, pattern = "Screens___")

# Match a random amount of arbitrary characters, followed by a comma
str_match(lines, pattern = "___,")

# Match the same pattern followed by a comma, but the "lazy" way
str_match(lines, pattern = "___,")
कोड संपादित करें और चलाएँ