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

如何编写Regex忽略字符串间多行内容,提取Contact Info分区指定字段

解决方法

正则匹配思路

首先精准定位** Contact Info **分区起始位置,避免误匹配前面Site Info分区的同名字段,再通过非贪婪匹配跳过分区内的无关行,分别捕获四个目标字段的值即可。

可用正则表达式

一次性捕获四个字段(结果对应四个捕获组)

(?s)\*\* Contact Info \*\*.*?Name:\s*([^\n\r]+).*?Address:\s*([^\n\r]+).*?Phone:\s*([^\n\r]+).*?Email:\s*([^\n\r]+)

语法说明:

  • (?s):开启单行匹配模式,让.可以匹配换行符
  • \*\* Contact Info \*\*:精准匹配Contact Info分区的起始标记,隔离其他分区内容
  • .*?:非贪婪匹配,跳过两个目标字段之间的无关内容
  • ([^\n\r]+):捕获当前字段的取值,直到行尾停止匹配

单独提取单个字段的正则

如果需要单独提取某一个字段,可以使用对应正则:

  • 提取Contact Info下的Name:(?s)\*\* Contact Info \*\*.*?Name:\s*([^\n\r]+)
  • 提取Contact Info下的Address:(?s)\*\* Contact Info \*\*.*?Address:\s*([^\n\r]+)
  • 提取Contact Info下的Phone:(?s)\*\* Contact Info \*\*.*?Phone:\s*([^\n\r]+)
  • 提取Contact Info下的Email:(?s)\*\* Contact Info \*\*.*?Email:\s*([^\n\r]+)

匹配效果

用你提供的示例文本测试,捕获结果如下:

  • 第1捕获组(Name):ABC
  • 第2捕获组(Address):EFG Street
  • 第3捕获组(Phone):12345
  • 第4捕获组(Email):llcd@gmail.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:42:00