13

我在http://msdn.microsoft.com/en-us/library/bb982727.aspx上找不到任何关于此的内容。

也许我可以使用 '[^]+' 来匹配所有内容,但这似乎是一个 hack?

谢谢。

4

4 回答 4

14

Boost.Regex 有一个mod_s标志可以使点匹配换行符,但它不是 TR1 正则表达式标准的一部分。(据我所知,也不能作为 Microsoft 扩展使用)

作为一种解决方法,您可以使用[\s\S](这意味着匹配任何空白或任何非空白)。

于 2010-01-12T21:32:24.930 回答
9

由于 C++ 正则表达式似乎基于 ECMAScript 正则表达式,因此最近关于 JavaScript 中同一事物的问题的答案可能会对您有所帮助。

[^]应该可以,但是如果您想要更清晰且不那么骇人听闻的东西,可以尝试(.|\n).

于 2010-01-12T21:38:39.987 回答
5

人们使用的一个技巧是包含任何非空字符的字符类。空字符以十六进制表示。它看起来像这样:

[^\x00]+
于 2010-01-12T21:31:04.370 回答
1

您可以切换到非 ECMA 风格的正则表达式(有许多标志可以控制 regext 风格)。如果我没记错的话,任何 POSIX 正则表达式都应该将换行符与..

于 2010-01-12T22:00:48.563 回答