एक शब्द या दूसरे के साथ नियमित अभिव्यक्ति


84

मुझे एक संपूर्ण संख्या से मेल खाते एक अभिव्यक्ति बनाने की आवश्यकता है, जिसके बाद "सेकंड" या "मिनट" हैं

मैंने इस अभिव्यक्ति की कोशिश की: ([0-9]+)\s+(\bseconds\b)|(\bminutes\b)

यह सेकंड के लिए ठीक काम करता है, लेकिन मिनट नहीं।

जैसे "5 सेकंड" 5 देता है; सेकंड; जबकि "5 मिनट" देता है ;; मिनट

जवाबों:


99

आपने "" या प्रतीक के लिए कोष्ठक की एक अतिरिक्त जोड़ी को याद किया। निम्नलिखित चाल करना चाहिए:

([0-9]+)\s+((\bseconds\b)|(\bminutes\b))

उन लोगों के बिना आप या तो सेकंड या केवल शब्द मिनट के बाद एक संख्या से मेल खा रहे थे


17
लेकिन एक "अतिरिक्त मैच" की आवश्यकता नहीं है। या तो उपयोग करें ([0-9]+)\s+(?:(\bseconds\b)|(\bminutes\b))या([0-9]+)\s+(\bseconds\b|\bminutes\b)
१13

3
हाँ, यह सच है, \ bseconds \ b और \ bminutes \ b के आसपास कोष्ठक की कोई आवश्यकता नहीं है!
माइक्रोटॉक्स

34

आप सेकंड / मिनट के लिए एकल समूह का उपयोग कर सकते हैं। निम्नलिखित अभिव्यक्ति आपकी आवश्यकताओं के अनुरूप हो सकती है:

([0-9]+)\s*(seconds|minutes)

ऑनलाइन डेमो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.