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

如何查找本该均以连字符开头但其中一行误漏连字符的文本行对

解决字幕行对的正则匹配问题

需求说明

  • 目标:找出所有标记为绿色的行对——这类行对本该全部以连字符-开头,但其中一行遗漏了开头的连字符
  • 示例文本包含4组字幕条目:
    • 条目491:正常行对(两行均以-开头)
    • 条目492:一行有-开头、一行无
    • 条目493:一行无-开头、一行有
    • 条目494:两行均无-开头
  • 用户尝试过的正则表达式(未达到预期效果):
    • \-\ [a-zA-Z0-9]+(\n|.)*?\-\
    • \-\ [a-zA-Z0-9]+(\n|.)*?^((?!\-).)*$
    • \-\ [a-zA-Z0-9]+(\n|.)*?(^((?!\-).))

正则匹配方案

要精准匹配一行有-开头、一行无-开头的行对,需要覆盖两种顺序的情况,同时启用多行模式让正则识别每行的开头结尾:

匹配“先有-、后无-”的行对

^-\s.*\n^(?!-).+$

匹配“先无-、后有-”的行对

^(?!-).+\n^-\s.*$

合并两种情况的正则

如果你的正则工具支持分支条件,可以把两个规则合并成一个:

(^-\s.*\n^(?!-).+$)|(^(?!-).+\n^-\s.*$)

关键说明

  • 必须启用多行模式(Multiline,模式标记m),这样^才能匹配每一行的起始位置,$匹配每一行的结束位置
  • \s用于匹配-后的空格,若只需匹配水平空格,可替换为\h避免换行符干扰
  • (?!-)是负向前瞻断言,确保当前行的开头不是-

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:13:30