匹配任意字符前面的内容(中间有空格,有换行,有文字内容)的正则表达式

作者: admin 分类: 易语言 发布时间: 2019-02-19 01:24

今天遇到个问题,要取出来一串文字,需要用到正则,先看源码:

<tr>
                        <td><a href="/links/detail-1005589.html" title="风水知识">风水知识</a></td>
                        <td>0</td>
                        <td style="display:none">0</td>
                        <td>0</td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/pr0.gif"></td>
                        <td class="f_gray" align="center">
                                    <span>2018-02-24</span>

                        </td>
                        <td><a href="/home/list?typeid=0&amp;catid=9">星相命理</a></td>
                        <td><a href="#" class="l" title="站内信">[jiayi58]</a></td>
                        <td class="qq"><a href="http://wpa.qq.com/msgrd?v=3&amp;uin=784880600&amp;site=go9go.cn&amp;menu=yes" class="l" target="_blank"><img src="http://wpa.qq.com/pa?p=1:784880600:4" title="QQ"></a></td>
                    </tr>
                    <tr>
                        <td><a href="/links/detail-1005794.html" title="神话故事大全">神话故事大全</a></td>
                        <td>0</td>
                        <td style="display:none">0</td>
                        <td>0</td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/pr0.gif"></td>
                        <td class="f_gray" align="center">
                                    <span>2018-02-24</span>

                        </td>
                        <td><a href="/home/list?typeid=0&amp;catid=24">动漫卡通</a></td>
                        <td><a href="#" class="l" title="站内信">[jiayi58]</a></td>
                        <td class="qq"><a href="http://wpa.qq.com/msgrd?v=3&amp;uin=784880600&amp;site=go9go.cn&amp;menu=yes" class="l" target="_blank"><img src="http://wpa.qq.com/pa?p=1:784880600:4" title="QQ"></a></td>
                    </tr>
                    <tr>
                        <td><a href="/links/detail-1006392.html" title="值得去吗">值得去吗</a></td>
                        <td>1</td>
                        <td style="display:none">0</td>
                        <td>0</td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/pr0.gif"></td>
                        <td class="f_gray" align="center">
                                    <span>2018-02-24</span>

                        </td>
                        <td><a href="/home/list?typeid=0&amp;catid=8">影视宽带</a></td>
                        <td><a href="#" class="l" title="站内信">[yuanjing]</a></td>
                        <td class="qq"><a href="http://wpa.qq.com/msgrd?v=3&amp;uin=1494346951&amp;site=go9go.cn&amp;menu=yes" class="l" target="_blank"><img src="http://wpa.qq.com/pa?p=1:1494346951:4" title="QQ"></a></td>
                    </tr>
                    <tr>
                        <td><a href="/links/detail-19172.html" title="免费友情链接网">免费友情链接网</a></td>
                        <td>1</td>
                        <td style="display:none">0</td>
                        <td>0</td>
                        <td><img src="/images/bds0.gif"></td>
                        <td><img src="/images/bds1.gif"></td>
                        <td><img src="/images/pr0.gif"></td>
                        <td class="f_gray" align="center">
                                    <span>2018-02-24</span>

                        </td>
                        <td><a href="/home/list?typeid=0&amp;catid=17">门户网站</a></td>
                        <td><a href="#" class="l" title="站内信">[jcyweb]</a></td>
                        <td class="qq"><a href="http://wpa.qq.com/msgrd?v=3&amp;uin=85618659&amp;site=go9go.cn&amp;menu=yes" class="l" target="_blank"><img src="http://wpa.qq.com/pa?p=1:85618659:4" title="QQ"></a></td>
                    </tr>

自己折腾了很久,虽然也折腾出来了,但是很麻烦,后面一个网友提供了一个简单的多的正则表达式:

html" title=.*?>(.*?)</a></td>[\s\S]*?<td>(.*?)</td>[\s\S]*?<span>(.*?)</span>[\s\S]*?uin=(.*?)&

注意标红的问号,我之前用的时候也用到了这个正则表达式,但是没有问号,就出问题了,直接匹配到后面去了,只能匹配到一个结果。

这个问号的含义我还不是很清楚,但是可以整体知道

[\s\S]*?

 

的意思:

可以匹配文档中任何一个位置。

\s 空白符

\S 非空白符

[\s\S]任意字符

[\s\S]* 0个到任意多个字符

[\s\S]*?   0个字符,匹配任何字符前的位置。

正则表达式中 \s代表一个空白字符(可能是空格、制表符、其他空白)。

补充:添加了问号其实就是非贪婪匹配,具体可以看文章:http://www.caogenbj.com/dxw.html

 

标签:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Powered by 草根站长笔记 © 2015-2020 草根站长笔记 Inc.版权所有,禁止转载