php如何同时正则匹配字符串和日期

发布于 2020-01-03 15:27:13

需求:

从一串数据中,匹配固定格式字符串,但结尾是日期(数字),而日期不固定。如下列字符串:
需要匹配以<p>医疗开始,以2018-12-20</p>结束范围内的字符串,其中匹配对象含有大量这样格式的数据,"医疗"是固定的,但结束日期不固定。

....
<p>医疗器械临床试验机构备案号201800587</p>
<p>机构级别:三级甲等</p>
<p>地 &nbsp; 址:广东省深圳市龙岗区布澜路29号</p>
<p>备案时间:2018-12-20</p>
....

解决代码:

           $str  = '<p>医疗器械临床试验机构备案号201800587</p>
<p>机构级别:三级甲等</p>
<p>地 &nbsp; 址:广东省深圳市龙岗区布澜路29号</p>
<p>备案时间:2018-12-20</p>';

            preg_match('/\<p\>医疗器械[\w\W]*\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}\<\/p\>/', $str, $matches);

            var_dump($matches);

特别说明

1.[wW]* 代表匹配对象包含回车换行

2.d{4}(-|/|.)d{1,2}1d{1,2} 代表匹配日期格式

0 条评论

发布
问题