如何在Notepad ++中搜索包含换行符的字符串


0

我正在浏览字幕文件,所以有类似的东西

442
00:24:18,017 - > 00:24:20,551
现在你只是在寻找
替罪羊。

而且我想知道如何搜索“只是寻找一个”并让它找到它。现在“你只是在看”获得一场比赛,“因为替罪羊”获得一场比赛,“寻找”没有得到一场比赛。

我已经尝试将搜索模式设置为正常/扩展

Answers:


3

如果使用扩展搜索,则可以\r\n在Windows上创建文档时搜索换行符。当它在linux上创建时,它很可能只是\n

所以如果你搜索:

just looking\r\nfor a

它应该找到你的比赛。要准确确定要搜索的内容,请按工具栏中的按钮以显示所有特殊字符。

任何CR被发现搜索\r,任何LF被发现搜索\n

仔细查看行的开头和结尾处的任何空格,并搜索这些空格。


我想搜索不同的引号,并且不确定它们的断行位置。有没有办法只是说“搜索这个字符串,匹配即使它被新行分解”或什么?
user1021085

1
为此,您需要RegEx,并选中右侧的选项以搜索过去的换行符。
LPChip

对不起,那会是什么样子?
user1021085

我开始认为你正在尝试使用错误的工具或使用错误的方法。到底想要实现的目标究竟是什么?
LPChip

我希望能够搜索字幕文件并找到引号(插曲,上下文等)
user1021085

0

记事本使用PCRE(Perl兼容正则表达式)进行搜索/替换。因此,您可以使用\s白色空间,例如使用一个空格/换行符

looking\sfor

或者这个带有至少一个或多个空格/换行符的正则表达式

looking\s+for

另请参见regular-expressions.info - 速记字符类

\ s代表“空白字符”。同样,这实际包含哪些字符取决于正则表达式的味道。在本教程中讨论的所有风格中,它包括[\ t \ r \ n \ f]。即:\ s匹配空格,制表符,换行符或换页符。大多数版本还包括垂直选项卡,Perl(版本5.18之前)和PCRE(版本8.34之前)是值得注意的例外。在支持Unicode的风格中,\ s通常包括Unicode“分隔符”类别中的所有字符。Java和PCRE再次成为例外。但JavaScript确实将所有Unicode空白与\ s匹配。


0

有多种方式,正则表达式和Perl!

1.尝试将其放入正则表达式中,并搜索“只是查找。*?for a”而不使用引号,并确保选中了复选框以使其成为。字符匹配换行符。这与换行符匹配,将[] *放在。*?如果你不希望它也匹配换行符。

2.与其他答案中的\ r \ n字面匹配。放入正则表达式并搜索“只是看\ r \ n for a”这与换行符匹配,如果你不希望它与换行符匹配,请将[] *放在\ r \ n周围。在[]括号内添加\ s +以匹配空格。

希望这可以帮助!请评论澄清!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.