日期:2014-05-19  浏览次数:20454 次

谁能告诉我一下[\s\S]*与[.\n]*的区别啊?
我看MSDN上是这样说明的:
\s     ---     与任何空白字符匹配。
\S     ---     与任何非空白字符匹配。

那[\s\S]就应该匹配所有字符了吧

.     ---   匹配除   \n   以外的任何字符。
那[.\n]也应该匹配所有字符啊。

可为什么我在提取网页html代码的时候发现[\s\S]*能匹配所有字符,而[.\n]*却不能?

谁能指点一下,谢谢先!!!
 


------解决方案--------------------
路过
------解决方案--------------------
\s --- 与任何空白字符匹配。
\S --- 与任何非空白字符匹配。
. --- 匹配除 \n 以外的任何字符。

[.\n] 不是这么写的吧
------解决方案--------------------
路过~~

一般用“.”加RegexOptions.Singleline参数来达到[\s\S]的效果

(.|\n)也可以,不过一般不这样用
------解决方案--------------------
[.\n]
表示点(.)和换行(\n)
不能等同于[\s\S]
[\w\W]等同于[\s\S]
------解决方案--------------------
[\s\S]用法正确
[.\n]就不合规则