1

我正在为 Windows 运行最新版本的 Notepad++ 6.3.2。尝试使用“正则表达式”进行“查找”,而不在以下示例两行文本文件上选中“匹配换行符”复选框。

hello
world

搜索模式hello.*world不匹配任何预期的“匹配换行符”未选中(选中复选框时匹配)。但是,模式hello\s*world匹配上面的两行有点意外,因为没有检查“匹配换行符”。我认为我以前使用的旧版本没有该功能/错误。当我只想匹配单行并带有尾随空格字符时,这有点烦人。

这是预期的吗?

4

2 回答 2

2

我试着解释一下:

应该是matches newlines(不是100%肯定,没有检查记事本的源代码)DOTALL正则表达式的标志。这意味着,点.也将匹配换行符。

你所拥有的是\s\s意味着匹配任何空白字符(空格、制表符、换行符)。所以它就是这样工作的。

于 2013-07-24T11:09:56.823 回答
1

查看界面显示“。匹配换行符”

在“hello\sworld”的第二种情况下,您不再使用“。” 在正则表达式中。

\s 旨在匹配 \r 或 \n 字符。

也许稍微调整正则表达式以匹配超过 2 个空格但不是新行对您有用

即使用“hello[\t]*world”?

于 2013-07-24T11:10:54.867 回答