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

如何用正则匹配连续两行及以上仅含25个以上斜杠的行?

正则匹配连续多行纯斜杠的问题分析

问题背景

用户提供的文本内容如下:

ABC
GFGFG
/////////////////////////
ggtrgrh
htrhrth
nbtnyumjyumu
myuuykukyyuk
/////////////////////////
/////////////////////////
AAAAA
AAAAAAAAAAA
RET5t4yy
HTH^565y56y
/////////////////////////
tertet
/////////////////////////
/////////////////////////
/////////////////////////

需求:匹配连续两行及以上仅包含25个或更多斜杠的行,即示例中myuuykukyyuk与AAAAA之间的两行,以及最后三行。

用户尝试的无效正则:

(?:.*/{25,}
?
?){3}
^/*/{25,}$

你的正则存在的问题

  1. 逻辑结构混乱:两个正则片段没有合理组合,既没明确连续多行的匹配逻辑,也没形成完整的匹配规则。
  2. 未限制行的纯净性:.*/{25,}会匹配包含25个斜杠的行,但允许行内存在其他字符,不符合“仅包含斜杠”的要求。
  3. 换行处理不规范: ? ?的写法错误,无法正确匹配不同系统的换行符(标准写法应为\r?\n),且未关联后续符合条件的行。
  4. 重复次数不符合需求:{3}强制要求匹配3次,但需求是连续2行及以上,次数限定错误,且未结合行边界确保每行独立。

正确的正则写法

需要开启多行模式(Multiline Mode),让^和$匹配每行的首尾,正则如下:

^(/{25,})(?:\r?\n/{25,})+$

规则解释

  • ^/{25,}$:严格匹配单行仅由25个及以上斜杠组成的行
  • (?:\r?\n/{25,})+:匹配1个或多个(至少1个)换行符,后接符合条件的斜杠行,确保整体是连续2行及以上的目标行

如果需要避免匹配更长连续块中的拆分片段(比如最后三行是连续3行,不想被拆分成2行的匹配),可以结合环视确保前后不是斜杠行:

(?<!/{25,}\r?\n)^(/{25,})(?:\r?\n/{25,})+(?!\r?\n/{25,})

内容的提问来源于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.03 06:07:30