在前面我們已經看到了mysql的模式匹配:like ...%. mysql支援另一種型別的模式匹配的操作基於正規表示式和正規表示式運算子。如果知道php或perl,那麼它是非常簡單的,因為這匹配非常相似於指令碼正規表示式。
以下是模式的**,其可以連同regexp運算子使用。
模式什麼樣的模式匹配
^開始的乙個字串
$結束的乙個字串
.任意單個字元
[...]
方括號中列出的任何字元
[^...]
任何字元方括號之間不會被列出
p1|p2|p3
交替;匹配的任何模式 p1, p2, 或 p3
*前乙個元素的零個或多個例項
+前面元素的一或多個例項
前乙個元素的n個例項
前乙個元素的 m 到 n 個例項
現在根據上面的**,可以在不同的裝置型別用sql查詢來滿足要求。在這裡,列出一些的理解。考慮有乙個表稱為 person_tbl,它是有乙個 name 字段:
查詢查詢所有以 「st」 開頭的名字:
mysql> select name from person_tbl where name regexp '^st';查詢找到所有以 'ok' 結尾的名字
mysql> select name from person_tbl where name regexp 'ok$';查詢查詢其中包含 'mar' 所有的名字
mysql> select name from person_tbl where name regexp 'mar';查詢查詢以母音 'ok' 結尾的所有名稱
mysql> select name from person_tbl where name regexp '^[aeiou]|ok$';
mysql正規表示式 MySQL正規表示式
正規表示式是為複雜搜尋指定模式的強大方式。正規表示式描述了一組字串。最簡單的正規表示式是不含任何特殊字元的正規表示式。例如,正規表示式hello匹配hello。非平凡的正規表示式採用了特殊的特定結構,從而使得它們能夠與1個以上的字串匹配。例如,正規表示式hello word匹配字串hello或字串w...
mysql 正規表示式
已知mysql可以通過 like 來進行模糊匹配。mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配。例項 查詢name欄位中以 st 為開頭的所有資料 mysql select name from person tbl where name re...
MySQL 正規表示式
在前面的章節我們已經了解到mysql可以通過 like 來進行模糊匹配。mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配。如果您了解php或perl,那麼操作起來就非常簡單,因為mysql的正規表示式匹配與這些指令碼的類似。下表中的正則模式可應用...