MySQL中支持使用正則表達式匹配字符串,在LIKE運算符中使用“/”將正則表達式括在其中,例如:
SELECT * FROM table WHERE column LIKE '/pattern/';
以上語句表示在table表的column列中查找匹配pattern的字符串。
正則表達式的語法與PCRE庫(Perl Compatible Regular Expressions)類似。下面是一些正則表達式的基本語法:
.
: 匹配任何單個字符[abc]
: 匹配字符a、b或c[^abc]
: 不匹配字符a、b或c[a-z]
: 匹配任何小寫字母[0-9]
: 匹配任何數字^
: 匹配字符串的開頭$
: 匹配字符串的結尾*
: 匹配0個或多個字符+
: 匹配1個或多個字符?
: 匹配0個或1個字符{n}
: 匹配恰好n個字符{n,m}
: 匹配n到m個字符
例如,以下語句將查找長度為3的字符串,并且第一個字符是“a”,第二個字符是“b”,第三個字符是c、d或e:
SELECT * FROM table WHERE column REGEXP '^ab[cde]$';
在使用LIKE和REGEXP時,需要注意效率問題。如果要匹配的字符串很長,正則表達式的性能可能會比較差。此時,建議盡量避免使用正則表達式。
上一篇mysql多個列唯一約束
下一篇css讓圖片轉起來