Halo 数据库正则表达式功能兼容
正则表达式主要用来查询和替换符合某个模式(规则)的文本内容。例如,从一个文件中提取电话号码,查找一
篇文章中重复的单词、替换文章中的敏感语汇等,这些地方都可以使用正则表达式。正则表达式强大且灵活,常
用于非常复杂的查询。在 Halo 数据库的 MySQL 模式中,使用 REGEXP 关键字指定正则表达式的字符匹配模
式,其基本语法格式如下:
属性名 REGEXP '匹配方式'
“ ” “ ” “ ”其中, 属性名 表示需要查询的字段名称; 匹配方式 表示以哪种方式来匹配查询。 匹配方式 中有很多的模式
匹配字符,它们分别表示不同的意思。下表列出了 REGEXP 操作符中常用的匹配方式。
接下来,我们在 Halo 数据的 MySQL 模式进行测试,首先我们准备测试数据:
DROP TABLE IF EXISTS t1;CREATE TABLE t1 (id int, name VARCHAR(15));INSERT
INTO t1 VALUES(1,'street'),(12,'string'),(123,'strategy'),(3,'uustrategy'),
(344,'strategystr');INSERT INTO t1 VALUES(5,'iamok'),(51,'areuok'),(55,'areuokk'),
(666,'ok'),(67,'OK'),(68,'kkkk'),(698,'kkkkk');INSERT INTO t1 VALUES(7,'mark'),
(80,'margin'),(09,'supmarket'),(99,'mar'),(999,'MAR');SELECT * FROM t1 ORDER BY id,
name;INSERT INTO t1 VALUES(1,'street'),(12,'string'),(123,'strategy'),(3,'uustrategy'),
(344,'strategystr');INSERT INTO t1 VALUES(5,'iamok'),(51,'areuok'),(55,'areuokk'),
(666,'ok'),(67,'OK'),(68,'kkkk'),(698,'kkkkk');INSERT INTO t1 VALUES(7,'mark'),
(80,'margin'),(09,'supmarket'),(99,'mar'),(999,'MAR');SELECT * FROM t1 ORDER BY id,
name;
字符^用来匹配以特定字符或字符串开头的记录。
评论