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

如何编写regex匹配多字符串通过指定符号连接的场景?适配SQL解析需求

SQL字符串拼接场景正则匹配方案

双竖线拼接场景(column1||column2||column3||...)

可用正则

\w+(?:\|\|\w+)+

说明

你之前写的(\w+\|\|\w+)+只能匹配偶数个元素的拼接场景,3个及以上奇数个元素时会出现匹配不全的问题。这个正则先匹配第一个字段,后续用非捕获组匹配1次及以上的「连接符+字段」组合,可适配任意≥2个字段的拼接场景。
如果你的字段名包含点号、反引号等SQL合法字符,可将\w+替换为适配的字符匹配规则,比如[a-zA-Z0-9_.]+`。

concat函数拼接场景(concat(column1, column2, ... columnn))

可用正则

concat\(\s*\w+(?:\s*,\s*\w+)*\s*\)

说明

支持参数前后带任意空格的兼容场景,可适配任意≥1个参数的concat函数匹配,如果要求至少2个参数,将最后面的*改为+即可。

通用匹配规则:n个字符串以指定连接符拼接的正则模板

套用如下模板即可快速生成对应正则:

{单元素匹配规则}(?:{连接符匹配规则}{单元素匹配规则}){最小重复次数,最大重复次数}

参数说明:

  • 要求至少2个元素拼接时,最小重复次数填1
  • 要求恰好k个元素拼接时,最小、最大重复次数都填k-1
  • 不限制最大拼接元素数时,最大重复次数留空

示例:匹配恰好3个字段用||拼接的正则为\w+(?:\|\|\w+){2},可精准匹配a||b||c这类内容。


内容的提问来源于stack exchange,提问作者Dante S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:57:04