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

Oracle REGEXP_LIKE और शब्द सीमाएँ

मेरा मानना ​​है कि आप कोशिश करना चाहते हैं

 select 1 from dual 
  where regexp_like ('does test work here', '(^|\s)test(\s|$)');

क्योंकि \b इस सूची में प्रकट नहीं होता है:Oracle नियमित अभिव्यक्तियों में पर्ल-प्रभावित एक्सटेंशन

\s सुनिश्चित करता है कि परीक्षण एक सफेद जगह में शुरू और समाप्त होता है। हालांकि, यह पर्याप्त नहीं है, क्योंकि स्ट्रिंग test मिलान की जा रही स्ट्रिंग की शुरुआत या अंत में भी दिखाई दे सकता है। इसलिए, मैं विकल्प . का उपयोग करता हूं (| . द्वारा दर्शाया गया है ) ^ स्ट्रिंग की शुरुआत के लिए और $ स्ट्रिंग के अंत के लिए।

अपडेट करें (3 वर्ष+ के बाद)... जैसा कि होता है, मुझे आज इस कार्यक्षमता की आवश्यकता है, और मुझे ऐसा प्रतीत होता है कि एक नियमित अभिव्यक्ति और भी बेहतर है (^|\s|\W)test($|\s|\W) (Oracle में अनुपलब्ध \b रेगुलर एक्सप्रेशन विशेष वर्ण).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00257:अभिलेखीय त्रुटि। मुक्त होने तक केवल आंतरिक कनेक्ट करें।

  2. Oracle में <> का क्या अर्थ है

  3. Oracle RMAN का परिचय

  4. Oracle में listagg का विकल्प?

  5. समाधान एक क्वेरी के अंदर एक डीएमएल ऑपरेशन नहीं कर सकता है?