请教php正则匹配时斜杠或冒号引起的问题

preg_match_all("/>[\w+=\".*\"\s]+</", $xml, $pre);

我用正则去匹配类似下面的字符串:

src1="111" src2="bb" src3="ccc"

匹配结果是:>src1="111" src2="bb" src3="ccc" < ,这样可以得到正确的结果。

但是我的目标字符串里面有网址时就会出问题,如下:

src1="http://baidu.com/" src2="bb" src3="ccc"

这样运行后匹配不到任何东西。

我的正则表达式是这样写的 \w+=\".*\"\ 用来匹配src1="http://baidu.com/"这一段。也就是.*代表所有内容,但是当引号中有/或者冒号时都匹配不出来,求大神指导哈,谢谢啦

php中的字符串和正则表达式

我没太懂你想要得到什么

.*?<(如果只是简单的得到你要的结果 )
(\w*=\".*?\"\s*)+<
\w*=\".*?\"\s*\w*=\".*?\"\s*\w*=\".*?\"\s*<(或者)
注意你的表达式.*后面如果没加符号? 很有可能出错

$str='src1="http://baidu.com/" src2="bb" src3="ccc" feferfefefefefe';
preg_match_all("/src\d{1,9}=\S+/",$str,$data);
print_r($data);die;