苏飞论坛

标题: 正则匹配包括换行符的所有字符 [打印本页]

作者: 站长苏飞    时间: 2013-1-12 10:55
标题: 正则匹配包括换行符的所有字符
    今天在开发一个功能时我要取一个网页中一个IDV中的所有数据,我使用了<div>(.*?)</div>这个正则表达式来匹配,结果发现匹配失败,没有取到任何数据,我去查了查正则的语法,发现“.”不能匹配换行符。网上一搜果然有人给出了解决方案,非常巧妙
    真是让我受益匪浅啊,给大家分享一下吧
    本来\d是匹配所有空白字符,\D是匹配所有非空白字符,那么[\d\D]这个组合不就是匹配所有字符了么
!把上面的正则表达式改成<div>([\d\D]*)</div>,结果就出来了
   通过这个大家应该也能想到其它的算法吧
比如
\w\W
\s\S
好了就到这里吧。大家说说看法吧。


作者: 菩提树    时间: 2013-4-28 00:08
谢谢,这也是困扰我的地方。学习啦
作者: 佐υ佑    时间: 2014-6-17 19:57
我发现一个新的办法了。有这样的一个模式:Singleline(单行模式)        更改.的含义,使它与每一个字符匹配(包括换行符\n)。
而且,在Regex里面还可以这样用
[C#] 纯文本查看 复制代码
Regex.Matches("...", "...", RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.IgnoreCase);

这样可以使用多种模式, 这样也可以直接用.*?来匹配换行了
作者: arstum    时间: 2014-10-16 21:57
膜拜中....!




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4