在Notepad ++中查找多行

时间:2011-03-30 16:22:45

标签: notepad++

有没有办法找到一个段落?

例如,我想搜索此代码:

<?php
    $radio_buttons++;
  }
?>

但是当我尝试将其复制到搜索框中时,它只会复制第一行<?php

似乎肯定有办法做到这一点,但我找不到它。也许这是一个插件?

10 个答案:

答案 0 :(得分:53)

答案 1 :(得分:22)

Xenovoyance所示,可以使用 CTRL + R (也可在菜单选项 TextFX &gt; TextFX快速&gt; 查找/替换):

只需选择要查找的文本,然后调用该选项... Multi line find/replace

更新:用户Żabojad让我意识到在最新版本的Notepad ++中,默认情况下未安装“ TextFX ”插件,所以首先你我必须做两件事之一:

  1. 最简单的一个:转到菜单选项插件&gt; 插件管理器&gt; 显示插件管理器,将可用的插件列表滚动到“ TextFX字符”并进行安装。 Install from Plugin Manager

  2. 以上方式应该有效,否则您将转到此页面:http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/ 并下载文件TextFX.v0.26.unicode.bin.zip Download TextFX Characters 然后将其内容(不只是复制zip文件)提取到Notepad ++安装文件夹的\plugins子文件夹 Copy dll to Notepad++ plugins folder

  3. 重新启动Notepad ++后,您会看到菜单项 TextFX

答案 2 :(得分:8)

由于 Notepad ++ 6.0 ,正常表达式搜索多行有效。

搜索您的代码就像

<?php.*\r\n.*$radio_buttons++;.*\r\n.*}.*\r\n.*?>

。* 只是任意数量字符的通配符(换行符除外)。您还可以在Notepad ++对话框中切换一个复选框(称为。匹配换行符)以包含换行符。

有关详细说明,请参阅此问题的最佳答案:

Find CRLF in Notepad++

答案 3 :(得分:4)

据我所知,Notepad ++不支持多行正则表达式,因此您必须使用操作系统的代表性换行符替换每个换行符(最有可能是\r\n)。有关详细信息,请参阅Find CRLF in Notepad++

答案 4 :(得分:4)

Cntrl+C您要查找的上述文字以及Cntrl+V它在Notepad ++中的新空白文档中,然后再次选择它并点击Cntrl+F。你会看到你的文字进入&#34;找到&#34;带有标签空格的字段作为换行符。不需要插件。

答案 5 :(得分:3)

我在相关主题上找到了以下主题:Multiline Regular Expression search and replace!

建议你试试CTRL + R!

答案 6 :(得分:2)

对于Notepad ++ v5.8.7 +,默认情况下没有安装Unicode的TextFX插件,因此为了使用 CTRL + R ,您需要安装{{1与插件管理器一起使用plugin

答案 7 :(得分:1)

有一种解决方法:
将搜索模式更改为“扩展”,并将“return-newline”替换为\r\n
例如 <?php\r\n $radio_buttons++;\r\n }\r\n?>
问题是你需要知道空白区域(上面没有显示)。

也许正则表达式可以起作用?

答案 8 :(得分:1)

仅当行尾设置为Unix形式时,才可以传递多行来搜索和替换字段。这可以通过 Edit> EOL Conversion> Unix

完成

然后,您可以手动将多行段落复制到搜索字段。

之后,只需通过 Edit> EOL Conversion> Windows

将行尾转换回Windows

答案 9 :(得分:0)

查看TextFX菜单选项。看起来它支持多行搜索。