MySQL unterstützt eine weitere Mustervergleichsoperation, die auf regulären Ausdrücken und dem REGEXP-Operator basiert. (Verwandte Empfehlungen: „MySQL-Tutorial“)
1. Es bietet einen leistungsstarken und flexiblen Mustervergleich, der uns bei der Implementierung von Leistung für das Datenbanksystem helfen kann Suchdienstprogramm.
2.REGEXP ist der Operator, der beim Durchführen eines Mustervergleichs mit regulären Ausdrücken verwendet wird.
3.RLIKE ist ein Synonym. Es unterstützt außerdem eine Reihe von Metazeichen, die eine größere Flexibilität und Kontrolle beim Mustervergleich bieten.
4. Backslash wird als Escape-Zeichen verwendet. Wenn doppelte Backslashes verwendet werden, werden diese nur beim Mustervergleich berücksichtigt.
5. Die Groß-/Kleinschreibung wird nicht beachtet.
PATTERN | 模式匹配的是什么 |
* | 在它之前的零个或多个字符串实例 |
+ | 在它之前的一个或多个字符串实例 |
. | 任何一个角色 |
? | 匹配前面的字符串的零个或一个实例。 |
^ | 插入符号(^)匹配字符串的开头 |
$ | 字符串结束 |
[abc] | 方括号之间列出的任何字符 |
[^abc] | 方括号之间未列出的任何字符 |
[A-Z] | 匹配任何大写字母。 |
[a-z] | 匹配任何小写字母 |
[0-9] | 匹配从0到9的任何数字。 |
[[:<:]] | 匹配单词的开头。 |
[[:>:]] | 匹配单词的结尾。 |
[:class:] | 匹配一个字符类,即[:alpha:]匹配字母,[:space:]匹配空格,[:punct:]匹配标点符号,[:upper:]匹配上层字母。 |
p1|p2|p3 | 轮换; 匹配任何模式p1,p2或p3 |
{n} | n前面元素的实例 |
{m,n} | m到前面元素的n个实例 |
Beispiel:
Entspricht dem Anfang der Zeichenfolge (^):
gibt alle Namen an, die mit „sa“ beginnen. Beispiel – Sam, Samarth.
SELECT name FROM student_tbl WHERE name REGEXP '^sa';
entspricht dem Ende der Zeichenfolge ($):
gibt alle Namen an, die auf „on“ enden. Beispiel – norton, merton.
SELECT name FROM student_tbl WHERE name REGEXP 'on$';
entspricht null oder einer Instanz der Zeichenfolge davor (?):
gibt alle Titel an, die „com“ enthalten. Beispiel – Komödie, romantische Komödie.
SELECT title FROM movies_tbl WHERE title REGEXP 'com?';
entspricht jedem Muster in p1, p2 oder p3 (p1|p2|p3):
gibt alle Muster an, die „be“ enthalten „“ oder „ae“ Name. Beispiel – Abel, Baer.
SELECT name FROM student_tbl WHERE REGEXP 'be|ae' ;
entspricht jedem in eckigen Klammern aufgeführten Zeichen ([abc]):
ergibt ein Zeichen, das „j“ oder „z“ enthält. alle Namen. Beispiel – Lorentz, Rajs.
SELECT name FROM student_tbl WHERE REGEXP '[jz]' ;
Entspricht ' a ' bis ' z ' - ([a-z]) ([a-z] und (.) jeder Kleinbuchstabe zwischen:
Alle Namen abrufen, die die Buchstaben „b“ und „g“ enthalten, gefolgt von einem beliebigen Zeichen, gefolgt vom Buchstaben „a“. Zum Beispiel Tobias, sewall.
entspricht jedem einzelnen Zeichen (.)< . 🎜>
SELECT name FROM student_tbl WHERE REGEXP '[b-g].[a]' ;
entspricht allen Zeichen, die nicht in eckigen Klammern aufgeführt sind ([^abc]):
gibt alle Namen an, die nicht „j“ oder „z“ enthalten. Zum Beispiel: nerton, sewall.SELECT name FROM student_tbl WHERE REGEXP '[^jz]' ;
entspricht den Wortendungen [[:>:]]:
gibt alle Titel an, die mit dem Zeichen „ack“ enden - Schwarz.SELECT title FROM movies_tbl WHERE REGEXP 'ack[[:>:]]';
findet Wörter, die mit [[:<:]] beginnen:
gibt alle Titel an, die mit dem Zeichen „forgetting Sarah Marshal“ beginnen.SELECT title FROM movies_tbl WHERE title REGEXP '[[:<:]]for';
entspricht einer Zeichenklasse [:class:]:
d. h. [:lower:] – Kleinbuchstaben, [:digit:] – Ziffern usw. Geben Sie nur alle Titel an, die alphabetische Zeichen enthalten.SELECT title FROM movies_tbl WHERE REGEXP '[:alpha:]' ;
Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für einen regulären MySQL-Ausdruck (Regexp). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!