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

正则表达式匹配以空格开头、以已知值结尾的文本求助

解决多行文本中匹配指定区间内容的正则问题

没问题,我来帮你搞定这个正则匹配需求!针对你要匹配最后一个空格之后、known_text之前的所有内容的需求,这里有两个实用的正则方案:

方案1:使用正向/反向预查(无捕获组,直接匹配目标内容)

正则表达式:

(?<=\s).*(?=known_text)

规则解析:

  • (?<=\s):反向肯定预查,确保匹配内容的前一位是空白字符(如果只需要匹配普通空格,可替换为 )
  • .*:匹配任意数量的任意字符(默认不包含换行符,若要支持跨行匹配,记得开启正则的「单行模式」即DOTALL flag)
  • (?=known_text):正向肯定预查,确保匹配内容的后一位紧跟known_text

方案2:使用捕获组(更直观,方便提取结果)

如果你习惯通过捕获组提取目标内容,可以用这个:

\s(.*)known_text

提取结果时直接取第1个捕获组的内容即可。

测试你的示例字符串:

输入字符串:space-separated-values 1/2/tmp/known_text

  • 方案1会直接匹配到:1/2/tmp/
  • 方案2的第1个捕获组内容为:1/2/tmp/

额外提示

如果你的文本包含多行内容,需要开启正则的「多行模式」(MULTILINE flag),这样正则会把每一行当作独立单元处理,确保每一行都能正确匹配目标区间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:08:45