Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL REGEXP ऑपरेटर क्या है और यह पैटर्न मिलान को कैसे संभालता है?


MySQL रेगुलर एक्सप्रेशन और REGEXP के आधार पर एक अन्य प्रकार के पैटर्न मिलान ऑपरेशन का समर्थन करता है ऑपरेटर। निम्नलिखित पैटर्न की तालिका है, जिसका उपयोग REGEXP . के साथ किया जा सकता है पैटर्न मिलान को संभालने के लिए ऑपरेटर।

पैटर्न
पैटर्न किससे मेल खाता है

^
स्ट्रिंग की शुरुआत
$
स्ट्रिंग का अंत

कोई एक वर्ण
[...]
वर्ग कोष्ठक के बीच सूचीबद्ध कोई भी वर्ण
[^...]
कोई भी वर्ण जो वर्ग कोष्ठक के बीच सूचीबद्ध नहीं है
p1|p2|p3
वैकल्पिक; किसी भी पैटर्न p1, p2, या p3 से मेल खाता है
*
पूर्ववर्ती तत्व के शून्य या अधिक उदाहरण
+
पूर्ववर्ती तत्व के एक या अधिक उदाहरण
{n}
पूर्ववर्ती तत्व के n उदाहरण
{m,n} पूर्ववर्ती तत्व के n उदाहरणों के माध्यम से मी


उदाहरण

REGEXP के उपयोग को स्पष्ट करने के लिए हम निम्नलिखित डेटा वाली तालिका 'Student_info' का उपयोग कर रहे हैं -

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
|  101 | YashPal | Amritsar   | History    |
|  105 | Gaurav  | Chandigarh | Literature |
|  130 | Ram     | Jhansi     | Computers  |
|  132 | Shyam   | Chandigarh | Economics  |
|  133 | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
5 rows in set (0.00 sec)

अब, निम्नलिखित कुछ प्रश्न हैं जो उपरोक्त तालिका से 'नाम' के पैटर्न को खोजने के लिए REGEXP का उपयोग करते हैं -

mysql> Select Name from student_info WHERE Name REGEXP '^Y';
+---------+
| Name    |
+---------+
| YashPal |
+---------+
1 row in set (0.11 sec)

उपरोक्त क्वेरी में 'Y' से शुरू होने वाले सभी नाम मिलेंगे।

mysql> Select name from student_info WHERE Name REGEXP 'am$';
+-------+
| name  |
+-------+
| Ram   |
| Shyam |
+-------+
2 rows in set (0.00 sec)

उपरोक्त क्वेरी में 'am' के साथ समाप्त होने वाले सभी नाम मिलेंगे।

mysql> Select name from student_info WHERE Name REGEXP 'av';
+--------+
| name   |
+--------+
| Gaurav |
+--------+
1 row in set (0.00 sec)

उपरोक्त क्वेरी में 'av' वाले सभी नाम मिलेंगे।

mysql> Select name from student_info WHERE Name REGEXP '^[aeiou]|am$';
+-------+
| name  |
+-------+
| Ram   |
| Shyam |
+-------+
2 rows in set (0.00 sec)

उपरोक्त क्वेरी में स्वर से शुरू होने वाले और 'am' से समाप्त होने वाले सभी नाम मिलेंगे।


  1. कॉलम नाम कैसे निकालें और MySQL से टाइप करें?

    कॉलम का नाम और प्रकार निकालने के लिए, INFORMATION_SCHEMA.COLUMNS का उपयोग करें - concat(column_name,=,data_type) को info_schema.columns से anyAliasName के रूप में चुनें जहां table_schema=yourDatabaseName और table_name=yourTableName; आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1812 (Id int, FirstN

  1. पंक्तियों को पुनः प्राप्त करते समय MySQL में AND, OR ऑपरेटर के बीच क्या अंतर है?

    AND, OR के बीच का अंतर यह है कि समग्र स्थिति के सही होने के लिए AND दोनों स्थितियों का मूल्यांकन सही होना चाहिए। समग्र स्थिति के सही होने के लिए OR मूल्यांकन करता है कि एक शर्त सही होनी चाहिए। आइए एक टेबल बनाएं - mysql> create table demo70 −> ( −> id int not null auto_increment

  1. सी # 7.0 में पैटर्न मिलान क्या है?

    C# 7.0 दो मामलों में पैटर्न मिलान का परिचय देता है, is एक्सप्रेशन और स्विचस्टेटमेंट। पैटर्न परीक्षण करते हैं कि किसी मान का एक निश्चित आकार होता है, और जब उसका मिलान आकार होता है तो वह मान से जानकारी निकाल सकता है। पैटर्न मिलान एल्गोरिदम के लिए अधिक संक्षिप्त सिंटैक्स प्रदान करता है आप किसी भी डे