您好,欢迎访问一九零五行业门户网

正则中怎么连续匹配一个或多个

正则中如何连续匹配一个或多个?
在抓火车票价的时候碰到一个这样的问题,有的火车票价只出来一种,有的可能出来几种,如何用一个表达式连续匹配出一个或多个的情况?
比如 ,下面是三种可能出现的结果
硬座234元
  硬卧391/407/420元
  软卧613/638元
;
  硬座234元
  硬卧391/407/420元
;
  硬座234元
;
我想用下面这个方法,但似乎不行,只能得到最后面一个票价,为什么呢
preg_match('#(\s+(.*?)
)+#is', $singleshift, $piaojia);//票价
求教各位了,谢谢
------解决方案--------------------
$singleshift = 硬座234元
硬卧391/407/420元
软卧613/638元
;
preg_match_all('#(?:\s+(.*)
)+#isu', $singleshift, $piaojia);
print_r($piaojia[1]);
array
(
    [0] =>  硬座234元
    [1] =>  硬卧391/407/420元
    [2] =>  软卧613/638元
)
其它类似信息

推荐信息