मैं एक मानक यूएस प्रकार फोन नंबर के लिए एक नियमित अभिव्यक्ति लिखना चाहता हूं जो निम्नलिखित स्वरूपों का समर्थन करता है:
###-###-####
(###) ###-####
### ### ####
###.###.####
जहाँ # का मतलब किसी भी संख्या से है। अब तक मैं निम्नलिखित भाव लेकर आया हूँ
^[1-9]\d{2}-\d{3}-\d{4}
^\(\d{3}\)\s\d{3}-\d{4}
^[1-9]\d{2}\s\d{3}\s\d{4}
^[1-9]\d{2}\.\d{3}\.\d{4}
क्रमशः। यदि अंतिम बिंदीदार चेक के लिए सही है तो मुझे बिल्कुल यकीन नहीं है। मैं यह भी जानना चाहता हूं कि क्या कोई तरीका है जो मैं 4 अलग-अलग लोगों के बजाय एक एकल अभिव्यक्ति लिख सकता हूं जो मेरे द्वारा बताए गए विभिन्न स्वरूपों को पूरा करते हैं। यदि हां, तो मुझे यकीन नहीं है कि मैं ऐसा कैसे कर सकता हूं। और यह भी कि मैं अभिव्यक्ति / अभिव्यक्तियों को कैसे संशोधित करता हूं ताकि मैं वैकल्पिक घटक के रूप में क्षेत्र कोड का समर्थन करने के लिए एक शर्त भी शामिल कर सकूं। कुछ इस तरह
+1 ### ### ####
जहां +1 क्षेत्र कोड है और यह वैकल्पिक है।
