मैं जावा में इस रेगेक्स का उपयोग कर रहा हूं:

^(Mon(?:.?|day)?)(?:[\.,])?$ (इसका परीक्षण यहां किया जा सकता है)

मैं एक वैकल्पिक . या , के बाद वाले दिन को कैप्चर करना चाहता हूं। सोमवार के दिन के मामले में मैं या तो Monday या Mon पर कब्जा करना चाहता हूं। हालांकि, मैं नहीं चाहता कि वैकल्पिक . या , को कैप्चरिंग समूह में सहेजा जाए। ऐसा लगता है कि यह केवल "सोमवार" के लिए काम करता है, न कि "सोम" के लिए। (लिंक देखें)।

इसे कैसे प्राप्त किया जा सकता है?

1
jonasstr 3 अक्टूबर 2018, 15:31

1 उत्तर

सबसे बढ़िया उत्तर

आप इस्तेमाल कर सकते हैं

^(Mon(?:day)?)[.,]?$

रेगेक्स डेमो देखें

विवरण

  • ^ - स्ट्रिंग की शुरुआत (यदि आप .matches() का उपयोग करते हैं तो छोड़ दें)
  • (Mon(?:day)?) - समूह 1 को कैप्चर करना: <उल>
  • Mon - एक शाब्दिक सबस्ट्रिंग
  • (?:day)? - एक वैकल्पिक day चार क्रम
  • [.,]? - एक वैकल्पिक बिंदु या अल्पविराम
  • $ - स्ट्रिंग का अंत (यदि आप .matches() का उपयोग करते हैं तो छोड़ दें)
  • 2
    Wiktor Stribiżew 3 अक्टूबर 2018, 15:40