You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MySQL的REGEXP_LIKE函数及match_type 'n'?请提供示例

MySQL REGEXP_LIKE 中 match_type 'n' 的使用示例

MySQL的正则匹配函数(如REGEXP_LIKE)中,默认情况下正则表达式里的.元字符不会匹配行终止符(比如换行符\n),匹配会在行尾停止。而match_type参数设为'n'时,.将可以匹配包括行终止符在内的任意字符,实现跨行匹配。

具体示例

1. 准备测试数据

先创建测试表并插入包含换行的内容:

CREATE TABLE test_regex (id INT, content TEXT);
INSERT INTO test_regex VALUES
(1, '第一行\n第二行'),
(2, '单行无换行内容');

2. 默认模式 vs 'n'模式对比

  • 默认模式(不指定match_type):.无法匹配换行符,跨行的正则规则不会命中
-- 尝试匹配包含换行的"第一行+换行+第二行",默认模式下无结果
SELECT * FROM test_regex WHERE REGEXP_LIKE(content, '第一行.第二行');
-- 返回结果:空集
  • 使用'n'模式:.可以匹配换行符,跨行规则生效
-- 指定'n'参数后,.匹配了中间的换行符,成功命中目标行
SELECT * FROM test_regex WHERE REGEXP_LIKE(content, '第一行.第二行', 'n');
-- 返回结果:id=1,content='第一行\n第二行'的记录

3. 匹配整个含换行的文本

-- 默认模式下,^.*$ 仅匹配单行内容,无法覆盖带换行的文本
SELECT REGEXP_LIKE('a\nb', '^.*$') AS default_result; -- 输出0(不匹配)

-- 'n'模式下,^.*$ 会匹配包含换行的完整文本
SELECT REGEXP_LIKE('a\nb', '^.*$', 'n') AS n_mode_result; -- 输出1(匹配)

内容的提问来源于stack exchange,提问作者ArtBindu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 07:18:16