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

Notepad++正则匹配包含text "或choice "的行求助

问题描述

我在Notepad++中使用以下代码:

text "","text1"
waitinput
text "","text2"
waitinput
text "{user}","text3"
waittext

choice "option1","option2"

    text "","text4"
    waitinput
    text "{user}","text5"
    waitinput

    text "char","text6"
    waitinput

需要匹配所有包含text "或choice "的行,但之前尝试的正则表达式结果不一致,部分行被遗漏,空行上方的行无法识别。

我的尝试:

  1. 搜索正则:^\s*text|^\s*choice
    结果:
줄  1: text "","text1"
    줄  3: text "","text2"
    줄  5: text "{user}","text3"
    줄  7: 
    줄  9: 
    줄 12:   text "{user}","text5"
    줄 14: 
  1. 搜索正则:^.*\b(text\s\"|choice\s\")\b.*$
    结果:
줄  8: choice "option1","option2"
    줄 15:   text "char","text6"

所有尝试都无效,请求能完美匹配样本中目标行的正则表达式。

解决方案

直接使用这个正则表达式即可精准匹配所有目标行:

^\s*(text|choice)\s+"

失败原因分析

  • 第一个正则^\s*text|^\s*choice:分支结构优先级错误,且未限定关键字后必须紧跟 ",导致空行(仅含空白字符的行)被误匹配,同时部分缩进行的匹配逻辑不严谨。
  • 第二个正则^.*\b(text\s\"|choice\s\")\b.*$:错误使用HTML转义实体\"代替原生双引号",且多余的单词边界\b限制了匹配范围,导致大部分符合条件的行无法被识别。

正则说明

  • ^\s*:匹配行首任意数量的空白字符(适配缩进的行)
  • (text|choice):精准匹配目标关键字
  • \s+":匹配关键字后至少一个空白字符加双引号,确保完整匹配text "或choice "模式

使用该正则后,会准确匹配样本中所有7条目标行,无遗漏也无错误匹配。

内容的提问来源于stack exchange,提问作者J. P.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:32:50