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

रेगेक्सपी में (*) और .* में क्या अंतर है?

ऐसा प्रतीत होता है कि, Oracle 11 में, * और + पैटर्न (उनसे पहले कुछ भी नहीं के साथ) शून्य-चौड़ाई वाले मैच उत्पन्न करते हैं। तो (*) और (+) समूह कैप्चर कर रहे हैं () शून्य-चौड़ाई वाले पैटर्न युक्त * या + क्रमशः।

ये सभी प्रश्न एक पंक्ति लौटाते हैं:

SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '*' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '(*)' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^*' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^(*)' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '*1' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '+' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '(+)' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^+' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^(+)' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '+1' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^+1' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '+1$' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^+1$' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '()' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '12', '1(*)2' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '12', '1(+)2' );

ये प्रश्न कोई पंक्ति नहीं लौटाते:

SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '*2' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^*$' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', '^+$' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '12', '11(*)2' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '12', '11(+)2' );

साथ ही, NULL . से किसी भी पैटर्न का मिलान करना या NULL . के सामने एक स्ट्रिंग पैटर्न कोई पंक्ति नहीं लौटाएगा:

SELECT * FROM DUAL WHERE REGEXP_LIKE( NULL, '*' );
SELECT * FROM DUAL WHERE REGEXP_LIKE( '1', NULL );

REGEXP_SUBSTR का उपयोग करना :

SELECT REGEXP_SUBSTR( '1', '+' ) FROM DUAL;

NULL . वाली एकल पंक्ति को आउटपुट करता है ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या हम किसी तालिका के प्राथमिक कुंजी मान अपडेट कर सकते हैं?

  2. Oracle में CHARTOROWID () फ़ंक्शन

  3. किसी अन्य उपयोगकर्ता से तालिका से क्वेरी कॉलम नाम

  4. Oracle में लाट लोन डिस्टेंस कैलकुलेशन क्वेरी

  5. फिक्स "इंटेल डिफ़ॉल्ट उपसर्ग (/ usr / स्थानीय) में एआरएम प्रोसेसर पर होमब्रू में स्थापित नहीं कर सकता!"