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

如何编写正则匹配指定字符串(如SRL)对应的目标文本内容

正则匹配指定标记后内容的解决方案

需求说明

指定标记字符串为SRL,匹配所有该标记所在行的后续有效内容,拼接后得到结果:DISTRIBUTION SERVICES MANAGEMENT SRL
测试文本:

SC FAN COURIER EXPRESS SRL                DISTRIBUTION SERVICES
J40/4014/2001 - RO13838336                MANAGEMENT SRL
                                          SC FAN COURIER EXPRESS SRL
                                          Operator FAN

原有正则问题

当前使用的SRL(.*)存在两个核心问题:

  • 未开启全局、多行匹配参数,仅能匹配到第一行的SRL后内容
  • 未过滤SRL后无有效内容的行,会捕获到空值

最终调整方案

使用正则:SRL\s*(.+)$,同时开启**全局匹配(g)和多行匹配(m)**两个执行参数。

匹配逻辑说明

  • SRL:精准匹配指定的标记字符串
  • \s*:匹配标记后紧跟的任意数量空白字符(空格、制表符等),自动跳过无效占位空白
  • (.+):捕获组匹配至少1个非换行的有效内容,自动过滤第三行SRL后无有效内容的情况
  • $:匹配行尾位置,限定仅捕获当前行标记后的内容

代码实现示例(JavaScript)

const testContent = `SC FAN COURIER EXPRESS SRL                DISTRIBUTION SERVICES
J40/4014/2001 - RO13838336                MANAGEMENT SRL
                                          SC FAN COURIER EXPRESS SRL
                                          Operator FAN`;
// 正则携带g(全局)、m(多行)参数
const matchReg = /SRL\s*(.+)$/gm;
const resultArr = [];
let curMatch;
// 遍历所有匹配结果
while((curMatch = matchReg.exec(testContent)) !== null) {
  // 去除捕获内容的首尾空白后存入数组
  resultArr.push(curMatch[1].trim());
}
// 拼接数组得到最终结果
const finalResult = resultArr.join(' ');
console.log(finalResult); // 输出:DISTRIBUTION SERVICES MANAGEMENT SRL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:54:01