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

如何调整RegEx,提取公司名时排除末尾的<br>标签?

正则表达式修改方案

问题背景

我从HTML邮件中获取到如下示例字符串:

Abholstellenname (Firmenname, Details): Musterfirma GmbH<br>

当前使用正则表达式(?<=Abholstellenname \(Firmenname, Details\): ).*提取其中的公司名“Musterfirma GmbH”,但匹配结果会包含末尾的<br>标签(转义后的&lt;br&gt;),需要修改正则排除该标签。

修改方案

这里提供三种实用的修改方式:

  • 方式一:非贪婪匹配+正向预查
    直接调整正则为:
(?<=Abholstellenname \(Firmenname, Details\): ).*?(?=&lt;br&gt;)

.*?是非贪婪模式,会尽可能少地匹配字符;(?=&lt;br&gt;)是正向预查,指定匹配到&lt;br&gt;前就停止,刚好避开末尾的标签。

  • 方式二:匹配非&开头的内容
    如果确认公司名里不会包含&字符,可用更简洁的写法:
(?<=Abholstellenname \(Firmenname, Details\): )[^&]+

[^&]+表示匹配任意非&的字符,遇到&lt;br&gt;的开头&就停止,精准提取公司名。

  • 方式三:捕获分组提取
    若觉得预查语法繁琐,也可以用捕获分组:
Abholstellenname \(Firmenname, Details\): ([^&]+)&lt;br&gt;

使用括号把目标公司名括成捕获组,提取时直接取第一个分组的内容即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:30:58