notepad++ - Notepad++文件过滤器

标签 notepad++ filter replace

我想知道是否有可能在Notepad++的“查找文件”功能中列出文件过滤器中的排除项。

例如,以下内容将在所有文件中用Dog替换Dog。

查找内容:狗

替换为:猫

过滤器:*。*

我想做的是在.sh文件中的所有文件中,用Cat将Dog替换为Cat。

这可能吗?

最佳答案

我认为 Notepad++ 中不存在类似“否定选择器”的内容。

我快速浏览了5.6.6 source code,似乎文件选择机制归结为一个名为getMatchedFilenames()的函数,该函数递归地遍历某个目录下的所有文件,然后依次调用以下函数以查看文件名是否与模式匹配:

bool Notepad_plus::matchInList(const TCHAR *fileName, const vector<generic_string> & patterns)
{
    for (size_t i = 0 ; i < patterns.size() ; i++)
    {
        if (PathMatchSpec(fileName, patterns[i].c_str()))
            return true;
    }
    return false;
}

据我所知,PathMatchSpec不允许使用否定选择器。

但是可以输入a list of positive filters。如果您可以使该列表足够长,以包括.sh以外的目录中的所有扩展名,那么您也在那里。

祝你好运!

关于notepad++ - Notepad++文件过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2188070/

相关文章:

regex - 在Eclipse中将多行搜索替换为regex

python - 已验证多行正则表达式在 notepad++ 中有效,但在 python 中没有结果

styles - Notepad++ 风格注释带有/**

C99 相当于 MATLAB "filter"?

javascript - 将换行符 + 4 个空格替换为 <br>

javascript - 从字符串数组中替换字符串中的单词

html - 如何修改正则表达式以删除所有后跟 CR 或 LF 的字符串

html - Notepad++ 不显示列表和图像

python - 根据权限管理 django admin 过滤器

python - 如果我有一个单词列表,如何有效地检查字符串是否不包含列表中的任何单词?