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

正则表达式:匹配两点间含换行的所有内容(排除特定场景)

正则匹配方案调整

目标代码片段

先看三段待匹配的代码:

changed: true
    newTranslated: ''
    importedTokens: true
changed: true
    newTranslated: 
    Some cool text here
    Here is some more next
    importedTokens: true
changed: true
    newTranslated: '|cFFASD2Hello there!'
    importedTokens: true

需求说明

要匹配从changed: true到importedTokens之间的所有内容(包含changed: true,但不包含importedTokens),同时要排除newTranslated: ''这种情况。之前用的changed: true\n.*^((?!'').)*$只能匹配newTranslated的第一行,没法覆盖后续行,需要调整正则逻辑。

可行的正则表达式

方案一(支持多行模式时)

如果你的正则工具支持多行模式(m flag),可以使用这个表达式:

changed: true\n(?:(?!importedTokens:|newTranslated: '').)*

方案二(通用版,无需特定模式)

若环境不支持多行模式,用这个更稳妥——它通过[\s\S]匹配所有字符(包括换行):

changed: true(?:(?!newTranslated: ''|importedTokens:)[\s\S])*

正则逻辑解释

  • changed: true:先精准匹配起始的目标行
  • (?:...):非捕获组,用来包裹匹配规则,避免生成额外的捕获结果
  • (?!newTranslated: ''|importedTokens:):负向前瞻,实现两个核心逻辑:
    1. 一旦碰到importedTokens:就停止匹配,确保结果不包含该行
    2. 直接排除包含newTranslated: ''的目标片段
  • [\s\S]*/.*:匹配任意字符,前者兼容所有换行场景,后者在多行模式下也能匹配换行内容

调整后的正则可以精准匹配到changed: true到importedTokens前的全部内容,同时自动过滤掉newTranslated: ''的情况。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:06:14