MySQL 8 示例
MySQL 8 示例
SELECT * FROM users WHERE name REGEXP '^A[0-9]{3}$';
SELECT REGEXP_REPLACE('a-b-c', '-', '_'); -- a_b_c
SELECT REGEXP_SUBSTR('order-2024-01', '[0-9]{4}'); -- 2024PostgreSQL 示例
PostgreSQL 示例
SELECT * FROM users WHERE name ~ '^A[0-9]{3}$'; -- 区分大小写
SELECT * FROM users WHERE name ~* '^a[0-9]{3}$'; -- 不区分大小写
SELECT regexp_replace('a-b-c', '-', '_', 'g');| MySQL | REGEXP / RLIKE;REGEXP_LIKE、REGEXP_REPLACE、REGEXP_SUBSTR、REGEXP_INSTR(8.0) |
|---|---|
| PostgreSQL | ~ 区分大小写、~* 不区分、!~ 取反;regexp_replace / regexp_matches |
| 索引 | 正则条件通常无法使用常规索引 |