MySQL 中提供了正則表達式的支持,通過正則表達式可以方便地進行字符串匹配。但是在正則表達式中有一些特殊字符需要進行轉義,否則就會產生意外的結果。
SELECT * FROM table WHERE column REGEXP '^\d+\.\d+$'
在上面的示例中,正則表達式是 `^\d+\.\d+$`,其中 `\` 和 `.` 都是正則表達式中的特殊字符,需要進行轉義。如果不進行轉義,那么這個正則表達式實際上是匹配每個字符都是數字,但是在字符串的任意位置都有一個 `.` 的字符串。
SELECT * FROM table WHERE column REGEXP '^\\d+\\.\\d+$'
在上面的示例中,`\\` 表示轉義字符 `\`,所以正則表達式的實際含義是匹配十進制的小數。
在 MySQL 中,通過使用 `\\` 來進行轉義,來寫出正確的正則表達式,比如:`\\\\d` 表示匹配一個數字。
除了 `\\`,MySQL 中還支持其他的轉義字符,包括:`\n`(換行符)、`\r`(回車符)、`\t`(制表符)等,這些字符在 MySQL 的字符串和正則表達式中都需要進行轉義。
上一篇mysql正則表達式索引
下一篇css 邊角弧形