Heim > Datenbank > MySQL-Tutorial > Hauptteil

Einführung in die Verwendung von Abfragen mit regulären Ausdrücken in MySql

黄舟
Freigeben: 2017-07-20 14:43:15
Original
1471 Leute haben es durchsucht

Mysql verwendet das Schlüsselwort REGEXP, um das Zeichenübereinstimmungsmuster eines regulären Ausdrucks anzugeben. Als nächstes werde ich Ihnen in diesem Artikel die Methode zur Verwendung regulärer Ausdrücke in MySql vorstellen. Interessierte Freunde sollten einen Blick darauf werfen.

Reguläre Ausdrücke werden häufig zum Abrufen und Ersetzen von Text verwendet, der der Magie entspricht Muster. Extrahieren Sie beispielsweise eine Telefonnummer aus einer Textdatei, finden Sie wiederholte Wörter in einem Artikel oder ersetzen Sie bestimmte vom Benutzer eingegebene sensible Wörter. MySQL verwendet das Schlüsselwort REGEXP, um das Zeichenübereinstimmungsmuster eines regulären Ausdrucks anzugeben.

Verzeichnis

1. Das Zeichen „^“ fragt nach Datensätzen ab, die mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnen


SELECT * FROM user WHERE email REGEXP '^a'
Nach dem Login kopieren

Das Zeichen „^“ stimmt mit Datensätzen überein, die mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnen. Die obige Anweisung fragt die Datensätze ab, deren Postfach mit einem

2 beginnt. Abfragen mit einem bestimmten Zeichen oder Datensätzen am Ende einer Zeichenfolge


SELECT * FROM user WHERE phone REGEXP '0$'
Nach dem Login kopieren

Das Zeichen „$“ stimmt mit Datensätzen überein, die mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge enden. Die obige Anweisungsabfrage die mit 0 endenden Datensätze im Postfach

3. Verwenden Sie das Symbol „.“ um ein beliebiges Zeichen in der Zeichenfolge zu ersetzen


SELECT * FROM user WHERE email REGEXP 'a.c'
Nach dem Login kopieren

Fragen Sie ab Bei Postfächern mit einem Zeichen zwischen a und c entspricht „.“ einem Platzhalter. Wenn es als REGEXP „a..c“ geschrieben ist, d. h. zwischen a und c zwei Punkte stehen, bedeutet dies, dass im Postfach zwei Zeichen zwischen a und c stehen müssen.

4. Verwenden Sie „*“, um mehrere Zeichen abzugleichen


SELECT * FROM user WHERE email REGEXP 'm*'
Nach dem Login kopieren

Fragen Sie die Datensätze mit m in allen Postfächern ab.


SELECT * FROM user WHERE email REGEXP '^am*'
Nach dem Login kopieren

Fragen Sie die Datensätze ab, deren E-Mail-Adresse mit dem Buchstaben a beginnt und dem der Buchstabe m folgt. Wobei „*“ 0 Mal oder öfter bedeutet.

5. Verwenden Sie das Zeichen „+“, um das folgende Zeichen darzustellen:


SELECT * FROM user WHERE email REGEXP 'm+'
Nach dem Login kopieren

, um alle Datensätze mit m im Postfach abzufragen.


SELECT * FROM user WHERE email REGEXP '^am+'
Nach dem Login kopieren

Fragen Sie die Datensätze ab, deren E-Mail-Adresse mit dem Buchstaben a beginnt, gefolgt vom Buchstaben m. Wobei „+“ das folgende Zeichen bedeutet.

6. Die durch „|“ getrennte Bedingung entspricht der angegebenen Zeichenfolge.


SELECT * FROM user WHERE email REGEXP 'qq.com|163.com'
Nach dem Login kopieren

Der reguläre Ausdruck kann mit der angegebenen Zeichenfolge übereinstimmen. Verwenden Sie zwischen Zeichenfolgen „|“. .

7. „[]“ bedeutet, dass der Satz mit einer der angegebenen Zeichenfolgen übereinstimmt.


SELECT * FROM user WHERE email REGEXP '[az]'
Nach dem Login kopieren

„[]“ gibt einen Satz an Oben bedeutet, dass die Postfächer mit a oder z oder beiden im Postfach abgefragt werden. Es kann auch verwendet werden, um eine Reihe von Zahlen abzugleichen. Beispielsweise repräsentiert [0-9] alle Zahlen im festgelegten Intervall und [a-z] alle Buchstaben im festgelegten Intervall.

8. „[^]“ entspricht anderen Zeichen als den angegebenen Zeichen


SELECT * FROM user WHERE email REGEXP '[^a-d1-3]'
Nach dem Login kopieren

Die obige passende E-Mail enthält kein a, b, c , d Und beinhaltet nicht die Datensätze 1, 2 und 3.

9. Verwenden Sie {n,} oder {n,m}, um die Anzahl der Vorkommen der Zeichenfolgenverkettung anzugeben.


SELECT * FROM user WHERE email REGEXP 'b{2}'
Nach dem Login kopieren

bedeutet, dass der Buchstabe b erscheint mindestens 2 Mal.


SELECT * FROM user WHERE email REGEXP 'yu{1,3}'
Nach dem Login kopieren

bedeutet, dass die Zeichenfolge ba mindestens einmal und höchstens dreimal vorkommt.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Abfragen mit regulären Ausdrücken in MySql. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage