regexp_matches(string text, pattern text [, flags text])
फ़ंक्शन कैप्चर किए गए मान लौटाता है:
आप गैर-कैप्चरिंग समूहों का उपयोग करके व्यंजक को ठीक कर सकते हैं:
SELECT unnest(regexp_matches('4-0001-1234 4.0001.12344 4-0-0-0-1-1234', '4(?:[\s/.-]*0){3}(?:[\s/.-]*[12])(?:[\s/.-]*\d){4}', 'g'));
ऑनलाइन डेमो देखें ।
BTW, आपको -
escape से बचने की आवश्यकता नहीं है जब यह ब्रैकेट एक्सप्रेशन के प्रारंभ/अंत में हो, और न तो बचने की कोई आवश्यकता हो और न ही /
न ही .
वहां। मैं {1}
. को हटाने का भी सुझाव देता हूं a
. के रूप में =a{1}
सीमित परिमाणकों का समर्थन करने वाले किसी भी रेगेक्स में।