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

如何在PyCharm中查找包含子串非连续出现两次的文件

在PyCharm中查找包含指定子串至少两次(非连续)的文件

核心正则表达式写法

要匹配非连续(可跨行)出现至少两次的sub_string,使用以下正则:

sub_string(?s).*sub_string
  • (?s):开启DOTALL模式,让正则中的.能匹配换行符,覆盖跨多行的场景;
  • .*:匹配两次子串之间的任意内容,包括空内容、其他字符或换行。

具体操作步骤

  • 打开PyCharm全局搜索:按Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(Mac)调出「Find in Path」窗口;
  • 在搜索框输入上述正则表达式;
  • 勾选窗口右上角的「Regex」选项,启用正则匹配模式;
  • 在「Scope」里选择「Project」,确保覆盖整个项目文件;
  • 点击「Find」即可列出所有符合条件的文件。

补充:排除连续出现的情况

如果需要找非连续且不相邻的两次出现,用这个正则:

sub_string(?!sub_string)(?s).*sub_string
  • (?!sub_string):负向预查,确保第一次出现的sub_string后面不会紧接着另一个sub_string。

为什么(sub_string){2}无效

这个写法仅能匹配连续紧挨着的两次sub_string(比如sub_stringsub_string),无法匹配中间有其他内容或换行的场景,因此不适用你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:55:46