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

JavaScript正则表达式:提取指定标签后的多行文本

问题描述

我们将如下文本存储在变量description中:

This is a code update

Official Name: None

Pub: https://content.upcodes.co/viewer/washington/wa-mechanical-code-2021

Agency:  

Reference: https://web.archive.org/web/20230226234118/https://lawfilesext.leg.wa.gov/law/wsr/agency/BuildingCodeCouncil.htm

Citation: WAC 51-52 / WSR 23-02-055

Draft Doc Title: WSR 23-02-055 (#1)

Draft Source Doc: https://web.archive.org/web/20230303022030/https://lawfilesext.leg.wa.gov/law/wsr/2023/02/23-02-055.htm (#1)

Draft Drive: https://drive.google.com/file/d/1pYmwQS3t-ZX-Vyg9yBabtIpXZ7By2G6f/view?usp=share_link ( #1)

Final Doc Title: 

IECC Com Update(#1)

IECC Res Update (#2)

Final Source Doc: https://web.archive.org/web/20230303022130/https://apps.leg.wa.gov/wac/default.aspx?cite=51-52&full=true&pdf=true (#1)

https://web.archive.org/web/20230303022030/https://lawfilesext.leg.wa.gov/law/wsr/2023/02/23-02-055.htm (#2)

Final Drive: https://web.archive.org/web/20230303022130/https://apps.leg.wa.gov/wac/default.aspx?cite=51-52&full=true&pdf=true (#1)

https://web.archive.org/web/2023030302fdfdfg2130/https://apps.legfdg.gov/wac/default.aspx?cite=51-52&fdsfullfdsf=true&pfdsfdf=true  (#2)

Effective Date:  January 4, 2023

需要提取Final Doc Title:标签后的两行内容,即IECC Com Update(#1)和IECC Res Update (#2)。现有提取代码如下:

//8. Extract Final Doc Title
var final_doc_title = description.search("Final Doc Title:");
if(final_doc_title != -1){
    final_doc_title = description.match(/(?<=^Final Doc Title:)[^\n\r]+/m);
    final_doc_title = final_doc_title?.[0].trim();
}else{
    final_doc_title = '';
}
console.log('Final Doc Title: ' + final_doc_title);

由于Final Doc Title:后直接是换行符,该代码返回空字符串,需修改代码获取目标两行内容。

解决方案

修改正则表达式,匹配标签后的换行及后续多行内容,直到下一个标题区块前结束,代码如下:

//8. Extract Final Doc Title
var final_doc_title = '';
const titleMatch = description.match(/Final Doc Title:\s*\n\s*(.*?)\s*(?=\n\nFinal Source Doc:)/s);
if (titleMatch) {
    // 若需保留两行的换行格式,直接用 titleMatch[1].trim()
    final_doc_title = titleMatch[1].trim().replace(/\n+/g, ' ');
}
console.log('Final Doc Title: ' + final_doc_title);

正则说明

  • Final Doc Title:\s*\n:匹配标签本身,以及后续的换行和任意空白字符
  • (.*?):非贪婪捕获后续内容,避免匹配到无关区块
  • (?=\n\nFinal Source Doc:):正向预查,指定捕获截止到下一个标题的空行前
  • s修饰符:让.可以匹配换行符,确保能捕获跨越多行的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:35:02