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

正则表达式如何提取signed by后首个of到句点的目标字符串?

正确正则写法

支持可变长度后行断言的正则引擎(Python re、Java、JavaScript ES2018+等)可直接使用以下规则,匹配结果即为目标内容:

(?<=signed by.*?of )([^.]*)(?=\.)

如果是不支持可变长度后行断言的旧版正则引擎,可使用分组捕获写法,提取第1个捕获组的内容即可:

signed by.*?of ([^.]*)\.
规则拆解
  • 原正则的问题是直接从signed by位置开始捕获,没有定位到要求的of边界,调整后核心逻辑如下:
    • (?<=signed by.*?of )是正向零宽后行断言,用来定位边界:.*?为非贪婪匹配,会尽可能短地匹配字符,保证精准命中signed by之后出现的第一个of (of后带空格,避免把of本身纳入匹配结果)的结束位置,不会跳过靠前的of匹配到后面的内容
    • ([^.]*)为捕获组,匹配所有非句点的字符,比非贪婪匹配稳定性更高,不会因为文本特殊结构出现匹配错位
    • (?=\.)是正向零宽先行断言,定位到句点位置,保证匹配到句点前就停止,不会把句点带入结果
  • 用你提供的测试字符串验证,最终提取结果为the National Service of ENCAC,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:01:46