正则中如何连续匹配一个或多个?

「已注销」 2013-03-03 09:23:16
在抓火车票价的时候碰到一个这样的问题,有的火车票价只出来一种,有的可能出来几种,如何用一个表达式连续匹配出一个或多个的情况?

比如 ,下面是三种可能出现的结果

"<td> 硬座234元<br /> 硬卧391/407/420元<br /> 软卧613/638元<br /></td>";
"<td> 硬座234元<br /> 硬卧391/407/420元<br /></td>";
"<td> 硬座234元<br /></td>";

我想用下面这个方法,但似乎不行,只能得到最后面一个票价,为什么呢
preg_match('#(\s+(.*?)<br />)+#is', $singleShift, $piaojia);//票价

求教各位了,谢谢

...全文
435 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2013-03-03
  • 打赏
  • 举报
回复
$singleShift = "<td>  硬座234元<br />  硬卧391/407/420元<br />  软卧613/638元<br /></td>";
preg_match_all('#(?:\s+(.*)<br />)+#isU', $singleShift, $piaojia);
print_r($piaojia[1]);
Array ( [0] => 硬座234元 [1] => 硬卧391/407/420元 [2] => 软卧613/638元 )

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧