正则中如何连续匹配一个或多个?
在抓火车票价的时候碰到一个这样的问题,有的火车票价只出来一种,有的可能出来几种,如何用一个表达式连续匹配出一个或多个的情况?
比如 ,下面是三种可能出现的结果
"
硬座234元 硬卧391/407/420元 软卧613/638元
| ";
"
硬座234元 硬卧391/407/420元
| ";
"
硬座234元
| ";
我想用下面这个方法,但似乎不行,只能得到最后面一个票价,为什么呢
preg_match('#(\s+(.*?)
)+#is', $singleShift, $piaojia);//票价
求教各位了,谢谢
------解决方案--------------------$singleShift = "<td> 硬座234元<br /> 硬卧391/407/420元<br /> 软卧613/638元<br /></td>";<br />
preg_match_all('#(?:\s+(.*)<br />)+#isU', $singleShift, $piaojia);<br />
print_r($piaojia[1]);
Array
(
[0] => 硬座234元
[1] => 硬卧391/407/420元
[2] => 软卧613/638元
)
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn