我正在为 Windows 运行最新版本的 Notepad++ 6.3.2。尝试使用“正则表达式”进行“查找”,而不在以下示例两行文本文件上选中“匹配换行符”复选框。
hello
world
搜索模式hello.*world
不匹配任何预期的“匹配换行符”未选中(选中复选框时匹配)。但是,模式hello\s*world
匹配上面的两行有点意外,因为没有检查“匹配换行符”。我认为我以前使用的旧版本没有该功能/错误。当我只想匹配单行并带有尾随空格字符时,这有点烦人。
这是预期的吗?
我试着解释一下:
应该是matches newlines
(不是100%肯定,没有检查记事本的源代码)DOTALL
正则表达式的标志。这意味着,点.
也将匹配换行符。
你所拥有的是\s
,\s
意味着匹配任何空白字符(空格、制表符、换行符)。所以它就是这样工作的。
查看界面显示“。匹配换行符”
在“hello\sworld”的第二种情况下,您不再使用“。” 在正则表达式中。
\s 旨在匹配 \r 或 \n 字符。
也许稍微调整正则表达式以匹配超过 2 个空格但不是新行对您有用
即使用“hello[\t]*world”?