? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

(pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。

[xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

 

 

 $str="测试字符串 aaa aaa@test1.com BBB sare bbb@test2.cn asda";
 preg_match_all('/[\w.%-]+@[\w.-]+\.[a-z]{2,4}/i', $str, $matches);
 print_r($matches);

 

 

 

处理对象

  <?xml version="1.0" encoding="utf-8" ?>
- <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
- <channel>
- <title>
- <![CDATA[
michael-视频搜索-优酷网
  ]]>
  </title>
+ <description>
- <![CDATA[
michael-视频搜索-优酷网
  ]]>
  </description>
  <link>http://www.youku.com</link>
  <lastBuildDate>Thu, 04 Aug 2011 08:35:11 +0800</lastBuildDate>
- <image>
  <url>http://www.youku.com/index/img/youkulogo.gif</url>
  <title>优酷网-中国第一视频网,提供视频播放,视频发布,视频搜索</title>
  <link>http://www.youku.com</link>
  <description>视频服务平台,提供视频播放,视频发布,视频搜索、视频分享</description>
  </image>
- <item>
- <title>
- <![CDATA[
迈克尔杰克逊(Michael Jackson)梦幻舞步MJ最强之舞精华
  ]]>
  </title>
  <link>http://v.youku.com/v_show/id_XMjI5NDYyODY4.html</link>
+ <description>
- <![CDATA[
		                    	<a href="http://v.youku.com/v_show/id_XMjI5NDYyODY4.html"><img src="http://g1.ykimg.com/0100641F464D05BF5E15C104C1517F5E85BF8E-FE90-CB06-DA2D-F2A3634EDAE1" border="0" width="120" height="90" vspace="4" hspace="4" title="迈克尔杰克逊(Michael Jackson)梦幻舞步MJ最强之舞精华" target="_blank" /></a> 		                    	<p>Michael Jackson迈克尔杰克逊MJ梦幻舞步~机械</p>                     
  ]]>
  </description>
  <itunes:duration>5:59</itunes:duration>
- <itunes:keywords>
- <![CDATA[
迈克杰克逊,迈克尔杰克逊,最强之舞,机械舞,太空步,mj,模仿MJ,模仿杰克逊,模仿迈克
  ]]>
  </itunes:keywords>
- <author>
- <![CDATA[
恋金爱怡
  ]]>
  </author>
  <size>0</size>
- <publicType>
- <![CDATA[
0
  ]]>
  </publicType>
  <comments>http://v.youku.com/v_show/id_XMjI5NDYyODY4.html#replyLocation</comments>
  <pubDate>Mon, 13 Dec 2010 14:39:53 +0800</pubDate>
  <guid>http://v.youku.com/v_show/id_XMjI5NDYyODY4.html</guid>
  <enclosure type="application/x-shockwave-flash" url="http://player.youku.com/player.php/sid/XMjI5NDYyODY4/v.swf" />
  </item>
- <item>
- <title>
- <![CDATA[
《20世纪福克斯:极限乔丹》Michael Jordan to the Max 中文字幕
  ]]>
  </title>
  <link>http://v.youku.com/v_show/id_XMjUzOTg3MDI4.html</link>
- <description>
- <![CDATA[
		                    	<a href="http://v.youku.com/v_show/id_XMjUzOTg3MDI4.html"><img src="http://g2.ykimg.com/0100641F464D8EA42E0C94023D5B7A886F035C-7E1A-420F-B7C7-1F0522D061BC" border="0" width="120" height="90" vspace="4" hspace="4" title="《20世纪福克斯:极限乔丹》Michael Jordan to the Max 中文字幕" target="_blank" /></a> 		                    	<p></p>                     
  ]]>
  </description>
  <itunes:duration>46:25</itunes:duration>
- <itunes:keywords>
- <![CDATA[
极限乔丹,JORDAN,michael,乔丹
  ]]>
  </itunes:keywords>
- <author>
- <![CDATA[
木瓜奶好饮
  ]]>
  </author>
  <size>0</size>
- <publicType>
- <![CDATA[
0
  ]]>
  </publicType>
  <comments>http://v.youku.com/v_show/id_XMjUzOTg3MDI4.html#replyLocation</comments>
  <pubDate>Sun, 27 Mar 2011 10:49:41 +0800</pubDate>
  <guid>http://v.youku.com/v_show/id_XMjUzOTg3MDI4.html</guid>
  <enclosure type="application/x-shockwave-flash" url="http://player.youku.com/player.php/sid/XMjUzOTg3MDI4/v.swf" />

  </item>

 

 对description中的href链接和image的链接提取的过程中,使用如下方法获得成功。

 

 

$str="<a href=\"http://v.youku.com/v_show/id_XMjUzOTg3MDI4.html\"><img src=\"http://g1.ykimg.com/0100641F464D05BF5E15C104C1517F5E85BF8E-FE90-CB06-DA2D-F2A3634EDAE1\" border=\"0\"  target=\"_blank\" /></a><p>Michael Jackson迈克尔杰克逊MJ梦幻舞步~机械</p>";
preg_match('/<a href="(.+?)">/',$str,$match);
//print_r($match);
echo 'The link is '.$match[1];
echo "<br>";
preg_match('/src="(.+?)"/',$str,$match2);

echo 'The image is '.$match2[1];

 

注释:.匹配任意除('\n')字符,?代表非贪婪匹配(默认情况下的匹配为贪婪匹配),在此的"不需要用\作转义,而在字符串中需要\。 

 

 

 

posted on 2011-08-04 10:24  猪总的小短裤  阅读(257)  评论(0)    收藏  举报