Maison >développement back-end >tutoriel php >正则如何匹配换行前及其换行后内容?
现有数据一份,为:
<code>已建成的电信管道、电信杆路、通信铁塔等电信设施的电信业务经营者应当将空余资源以( )等方式向有需求的其他电信业务经营者开放。 A.出租 2 借款 B.出售 C.资源互换 D.抵押 E. 质押 </code>
我需要从里面得到的结果为:
<code>1、A.出租 2 借款 2、B.出售 3、C.资源互换 4、D.抵押 5、E. 质押 </code>
我遇到的难点为:
“
5、E.
质押
”
这种情况,这个的我想取出来成为:“5、E.质押”;而不需要那个换行~
取得的结果是("A."到"B."),("B."到"C.")...等等的数据
============================
按一楼的说法,我现在把我整个PHP的贴出来吧。
<code class="lang-php"> //拆分选项列表 public function datalist($data){ $preg = '/[A-E]\.\s?.*[\w\W]?/'; preg_match_all($preg,$data,$results); foreach($results[0] as $data){ $result[] = trim($data); } return $result; } </code>
已经解决,谢谢大家。
其实很简单,但就是想不出来,唉~:
[A-E].[^B-E]*
这个问题已被关闭,原因:
现有数据一份,为:
<code>已建成的电信管道、电信杆路、通信铁塔等电信设施的电信业务经营者应当将空余资源以( )等方式向有需求的其他电信业务经营者开放。 A.出租 2 借款 B.出售 C.资源互换 D.抵押 E. 质押 </code>
我需要从里面得到的结果为:
<code>1、A.出租 2 借款 2、B.出售 3、C.资源互换 4、D.抵押 5、E. 质押 </code>
我遇到的难点为:
“
5、E.
质押
”
这种情况,这个的我想取出来成为:“5、E.质押”;而不需要那个换行~
取得的结果是("A."到"B."),("B."到"C.")...等等的数据
============================
按一楼的说法,我现在把我整个PHP的贴出来吧。
<code class="lang-php"> //拆分选项列表 public function datalist($data){ $preg = '/[A-E]\.\s?.*[\w\W]?/'; preg_match_all($preg,$data,$results); foreach($results[0] as $data){ $result[] = trim($data); } return $result; } </code>
已经解决,谢谢大家。
其实很简单,但就是想不出来,唉~:
[A-E].[^B-E]*
你把你写的正则发上来看看 正则中有个贪婪模式 估计跟这个有关吧