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

如何用正则匹配含指定字符串的HTML表格<tr>完整行?

匹配包含指定字符串的完整行的正则表达式

我通过Jenkins调用Confluence API拿到一段HTML表格内容,需要精准匹配里面包含“what I’m searching”的完整<tr>行,要把从<tr>开头到对应</tr>结尾的整段内容抓出来。

可用正则表达式

开启单行模式(让.能匹配换行)后,使用下面的正则:

(?s)<tr>.*?what I’m searching.*?</td>\s*</tr>

表达式解释

  • (?s):单行模式修饰符,确保.可以匹配换行符,适配HTML中的换行结构
  • <tr>:匹配目标行的起始标签
  • .*?:非贪婪匹配任意字符,避免过度匹配到其他<tr>行
  • what I’m searching:指定的匹配关键词,精准定位目标行
  • .*?</td>\s*</tr>:继续非贪婪匹配,直到找到该行末尾的</td>和</tr>,\s*兼容标签间的空格、换行等空白字符

Jenkins Pipeline中使用示例(Groovy)

如果在Jenkins流水线里用,参考这段代码:

// 假设htmlContent是从Confluence API获取到的HTML内容
def htmlContent = getConfluencePageHtml() 
def targetPattern = /(?s)<tr>.*?what I’m searching.*?</td>\s*</tr>/
def matcher = htmlContent =~ targetPattern

if (matcher.find()) {
    def targetTrLine = matcher.group()
    // 在这里对匹配到的<tr>内容进行更新操作
    println("匹配到的目标行:\n${targetTrLine}")
}

匹配结果

针对你提供的HTML内容,这个正则会准确捕获以下内容:

<tr>
    <td colspan="1">what I’m searching</td>
    <td colspan="1">2</td>
    <td colspan="1">
        <div class="content-wrapper"><p><time datetime="2022-07-25" />&nbsp;</p></div>
    </td>
</tr>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:03:27