我在http://msdn.microsoft.com/en-us/library/bb982727.aspx上找不到任何相关内容。
也许我可以使用'[^] +'来匹配所有内容,但这似乎是一个黑客?
感谢。
答案 0 :(得分:11)
Boost.Regex有一个mod_s
标志,使点匹配换行符,但它不是TR1正则表达式标准的一部分。 (据我所见,并没有作为Microsoft扩展提供)
作为一种解决方法,您可以使用[\s\S]
(这意味着匹配任何空格或任何非空格)。
答案 1 :(得分:7)
由于C ++正则表达式似乎基于ECMAScript正则表达式,因此JavaScript中answer to the recent question的相同内容可能对您有所帮助。
[^]
应该有用,但是如果你想要一些更清晰,更少hackish的东西,你可以试试(.|\n)
。
答案 2 :(得分:5)
人们使用的一个技巧是包含任何非空字符的字符类。空字符以十六进制表示。它看起来像这样:
[^\x00]+
答案 3 :(得分:1)
您可以切换到正则表达式的非ECMA风格(有许多标志来控制regext风格)。如果我没记错的话,任何POSIX正则表达式都应该将换行符与.
匹配。