Oder Übereinstimmung
Um nach einer von zwei Zeichenfolgen zu suchen (entweder nach dieser Zeichenfolge oder nach einer anderen Zeichenfolge), verwenden Sie |, wie unten gezeigt:
Eingabe:
select prod_name from products where prod_name regexp '1000|2000' order by prod_name;
Ausgabe:
Analyse: Der reguläre Ausdruck 1000|2000 wird in der Anweisung verwendet. |. ist der ODER-Operator von regulären Ausdrücken. Da steht, dass einer von beiden übereinstimmen soll, also werden sowohl 1000 als auch 2000 abgeglichen und zurückgegeben.
Die Verwendung von | ähnelt funktional der Verwendung der or-Anweisung in einer select-Anweisung. Mehrere or-Bedingungen können zu einem einzigen regulären Ausdruck zusammengeführt werden.
Hinweis: Es können mehr als zwei Bedingungen angegeben werden. Beispielsweise entspricht „1000|2000|3000“ 1000 oder 2000 oder 3000.
entspricht einem von mehreren Zeichen.
entspricht jedem einzelnen Zeichen. Aber was ist, wenn Sie nur bestimmte Zeichen zuordnen möchten?
Dies kann durch die Formulierung eines von [ und ] umschlossenen Zeichensatzes erfolgen, wie unten gezeigt:
Eingabe: Wählen Sie Produktname aus Produkten aus, wobei Produktname regexp '[123] Ton' sortiert nach Produktname ist ;
Ausgabe:
Analyse: Hier wird der reguläre Ausdruck [123]Ton verwendet. [123] definiert eine Reihe von Zeichen, die eine Übereinstimmung mit 1, 2 oder 3 bedeuten. Daher werden sowohl 1ton als auch 2ton abgeglichen und zurückgegeben (kein 3ton).
Wie Sie sehen können, ist [] eine andere Form von oder Aussage. Tatsächlich ist der reguläre Ausdruck [123]Ton die Abkürzung von [1|2|3]Ton, und letzterer kann auch verwendet werden. Allerdings ist [] erforderlich, um zu definieren, wonach die or-Anweisung sucht. Um dies besser zu verstehen, sollte man sich das folgende Beispiel ansehen:
Eingabe:
select prod_name from products where prod_name regexp '1|2|3 Ton‘ order by prod_name;
Ausgabe:
Analyse: Dies ist nicht die erwartete Ausgabe. Die beiden angeforderten Zeilen wurden abgerufen, es wurden jedoch drei zusätzliche Zeilen abgerufen. Der Grund dafür ist, dass MySQL davon ausgeht, dass Sie „1“, „2“ oder „3ton“ gemeint haben. Sofern das Zeichen | nicht zu einer Menge erweitert wird, gilt es für die gesamte Zeichenfolge.
Zeichensätze können auch negiert werden, d. h. sie stimmen mit allem außer den angegebenen Zeichen überein. Um einen Zeichensatz zu negieren, setzen Sie ein ^ am Anfang des Satzes. Während also [123] mit den Zeichen 1, 2 oder 3 übereinstimmt, stimmt [^123] mit allem außer diesen Zeichen überein.
Übereinstimmungsbereich Die
-Sammlung kann verwendet werden, um ein oder mehrere übereinstimmende Zeichen zu definieren. Beispielsweise würde eine Sammlung von Linien und Polygonen den Zahlen 0 bis 9 entsprechen:
[123456789]
Um diese Art von Sammlung zu vereinfachen, können Sie - verwenden, um einen Bereich zu definieren. Die folgende Formel entspricht funktional der obigen Zahlenliste:
[0-9]
Der Bereich ist nicht auf den vollständigen Satz, [1-3] und [6-9] beschränkt ] sind ebenfalls rechtlicher Geltungsbereich. Darüber hinaus muss der Bereich nicht nur numerisch sein, [a-z] entspricht jedem alphabetischen Zeichen.
Zum Beispiel:
Eingabe:
select prod_name from products where prod_name regexp '[1-5] Ton’ order by prod_name;
Ausgabe:
Analyse: Hier werden reguläre Ausdrücke verwendet Formel [1-5]Tonne. [1-5] definiert einen Bereich. Dieser Ausdruck bedeutet eine Übereinstimmung von 1 bis 5, sodass 3 übereinstimmende Zeilen zurückgegeben werden. Da 5 Tonnen übereinstimmen, werden 0,5 Tonnen zurückgegeben.
[Verwandte Empfehlungen]
Tutorial zur Verwendung regulärer Ausdrücke zum Suchen und Abgleichen in MySQL (1)MySQL kostenloses Online-Video-Tutorial
3. Han Shunpings neuestes MySQL-Basis-Video-Tutorial im Jahr 2016
4.mSuch- und Übereinstimmungs-Tutorial mit regulären Ausdrücken in ysql (3)
Das obige ist der detaillierte Inhalt vonTutorial zur Verwendung regulärer Ausdrücke zum Suchen und Abgleichen in MySQL (2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!