\ s意外匹配多行

时间:2013-07-24 11:02:43

标签: regex notepad++

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

hello
world

搜索模式hello.*world匹配任何未预期的“匹配换行符”未被选中(选中复选框时匹配)。但是,模式hello\s*world匹配上面的两行有点意外,因为未检查“匹配换行符”。我认为我用了一段时间的旧版本没有这个功能/ bug。当我想仅在单行上匹配时,有点令人讨厌,带有尾随的空白字符。

这是预期的吗?

2 个答案:

答案 0 :(得分:2)

我试着解释一下:

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

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

答案 1 :(得分:1)

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

在您的第二个“hello \ sworld”案例中,您不再使用“。”在正则表达式。

\ s用于匹配\ r或\ n字符。

或许Regex to match more than 2 white spaces but not new line的轻微改编对你有用

即。使用“你好[\ t] *世界”?