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

Notepad++正则匹配2000-2023年月开头整行的问题排查

正则问题分析与解决

需求与测试数据

需要在Notepad++中用正则选中左侧以2000-2023年加月份开头的整行数字,测试数据如下:

20110512192714
20794709157481
20121203175303
20794709157481
20210131201708
20211101050154
20220501022609
79776361952441

用户尝试的正则:

20(?:0[0-9]|1[0-9]|20)[0-1][0-9]

存在两个问题:

  1. 仅匹配行内部分内容,无法选中整行(数字长度不一致)
  2. 无法匹配20211101050154、20220501022609这类行

现有正则的问题点

  1. 年份范围限制过窄:正则里的20(?:0[0-9]|1[0-9]|20)只能匹配2000-2020年,2021、2022、2023完全不在匹配范围内,这就是2021/2022开头的行无法命中的核心原因。
  2. 无整行匹配规则:该正则只匹配了年份+月份的前6位字符,既没有指定行首(^)和行尾($)边界,也没有处理年份月份之后的剩余数字,所以只会选中行内片段,而非完整一行。

修正后的正则

^20(?:0[0-9]|1[0-9]|2[0-3])[0-1][0-9]\d*$

正则各部分说明

  • ^:锁定行首,确保匹配从每行开头开始
  • 20(?:0[0-9]|1[0-9]|2[0-3]):覆盖2000-2023年的所有年份,其中2[0-3]专门匹配2020-2023
  • [0-1][0-9]:匹配月份(兼容01-12的有效格式)
  • \d*:匹配年份月份之后的任意数量数字,适配不同长度的数字行
  • $:锁定行尾,确保选中的是完整一行

Notepad++使用步骤

  1. 按Ctrl+F打开查找对话框
  2. 切换到正则表达式模式
  3. 输入修正后的正则,点击「查找全部」即可选中所有符合条件的行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:32:47