php正则表达式中的非贪婪模式匹配


一般情况下,正则表达式的匹配是贪婪模式的,比如下面这个例子:

字符串:....src="http://www.bloghome.cn/1.mp3" type="application/x-mplayer2" ....
要求的结果:http://www.bloghome.cn/1.mp3

如果匹配表达式写为:/src="(.*)"/,则得不到正确的结果,因为最后一个双引号的匹配是贪婪模式的。

解决办法:匹配表达式写为:
/src="(.*)".?/

上面表达式中,".?是非贪婪模式匹配。也就是说,只要在一个字符后面跟上限定个数的特殊字符,匹配就是非贪婪模式了。

js中2005-05-02怎么转换为2005/5/2?
vars="2005-05-02";s=s.replace(/-0*/g,"/");alert(s);[Ctrl+A全选注:如需引入外部Js需刷新才能执行]

用正则表达式格式化html标签的代码
htmlhead/headbodystyle#x_edit{height:320px;width:540px;border:1pxsolid#666666;color:red;filter:chroma(color="#0f0f0f");background-color:#f0f0f0;font-family:verdana;font-size:11px;line-height:13px;marg

php利用正则表达式取出图片的URL
?phppreg_match('/imgssrc="(http://.+.(jpg|gif|bmp|bnp))"/i','imgsrc="http://127.0.0.1:81/upload/files/aaa.jpg"',$matches);echo$matches[1];?毕业设计要用,可惜正则不好,互补古蓝