Home > Backend Development > PHP Tutorial > 正则中怎么连续匹配一个或多个

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

WBOY
Release: 2016-06-13 12:52:41
Original
1455 people have browsed it

正则中如何连续匹配一个或多个?
在抓火车票价的时候碰到一个这样的问题,有的火车票价只出来一种,有的可能出来几种,如何用一个表达式连续匹配出一个或多个的情况?

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

"

  硬座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]);
Copy after login
Array
(
    [0] =>  硬座234元
    [1] =>  硬卧391/407/420元
    [2] =>  软卧613/638元
)
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template