欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

正则如何匹配换行前及其换行后内容?

程序员文章站 2024-04-06 17:20:01
...
现有数据一份,为:
已建成的电信管道、电信杆路、通信铁塔等电信设施的电信业务经营者应当将空余资源以(  )等方式向有需求的其他电信业务经营者开放。
A.出租 2
借款
B.出售
C.资源互换
D.抵押
E.
质押

我需要从里面得到的结果为:

1、A.出租 2
借款

2、B.出售

3、C.资源互换
4、D.抵押

5、E.
质押

我遇到的难点为:

5、E.
质押

这种情况,这个的我想取出来成为:“5、E.质押”;而不需要那个换行~
取得的结果是("A."到"B."),("B."到"C.")...等等的数据

============================
按一楼的说法,我现在把我整个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;
    }

已经解决,谢谢大家。
其实很简单,但就是想不出来,唉~:
[A-E].[^B-E]*

这个问题已被关闭,原因:

回复内容:

现有数据一份,为:

已建成的电信管道、电信杆路、通信铁塔等电信设施的电信业务经营者应当将空余资源以(  )等方式向有需求的其他电信业务经营者开放。
A.出租 2
借款
B.出售
C.资源互换
D.抵押
E.
质押

我需要从里面得到的结果为:

1、A.出租 2
借款

2、B.出售

3、C.资源互换
4、D.抵押

5、E.
质押

我遇到的难点为:

5、E.
质押

这种情况,这个的我想取出来成为:“5、E.质押”;而不需要那个换行~
取得的结果是("A."到"B."),("B."到"C.")...等等的数据

============================
按一楼的说法,我现在把我整个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;
    }

已经解决,谢谢大家。
其实很简单,但就是想不出来,唉~:
[A-E].[^B-E]*

你把你写的正则发上来看看 正则中有个贪婪模式 估计跟这个有关吧

相关标签: 正则表达式 php