PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgresql regexp_matches सिंटैक्स अपेक्षा के अनुरूप काम नहीं कर रहा है

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} सीमित परिमाणकों का समर्थन करने वाले किसी भी रेगेक्स में।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PgAdmin3 में वर्णन तालिका के बराबर

  2. MSSQL से PostgreSQL में माइग्रेट करना - आपको क्या पता होना चाहिए

  3. पोस्टग्रेज़ मैटेरियलाइज़्ड पाथ - ltree का उपयोग करने के क्या लाभ हैं?

  4. कैसे अजगर का उपयोग कर एक परिणाम वस्तु में लगातार 2 पंक्ति मूल्यों की तुलना करने के लिए?

  5. कैसे Acos () PostgreSQL में काम करता है