#php 正则表达式,读取括号里的数据,全文读取
$str="口腔健康是很多人关注的一个话题,我们都知道一天要刷两次牙, 可以预防口腔疾病,也能让口气清新。{第一段:2.45} 每个人的刷牙习惯不同,有的人早上起床后先刷牙,有的人会先喝点水,然后再刷牙, 对于最后这一种做法经常引起争议,认为不刷牙就喝水,相当于喝细菌。{第二段:6.45} 在考虑空腹喝水卫不卫生之前,我们先看看你是怎么喝水的?如果喝水方式不正确, 可能会影响水分吸收,甚至影响到器官的运转。{第三段:9.45}"; $reg = "/\{[\s\S]*?\}/"; preg_match_all($reg, $str, $arr); print_r($arr);
打印结果是:
Array ( [0] => Array ( [0] => {第一段:2.45} [1] => {第二段:6.45} [2] => {第三段:9.45} ) )
解释:
$reg 是一个正则表达式。
1.正则表达式的标志:是开头结尾都有反斜杠(/),如果斜杠后面加/g表示全文搜索。
2.搜索关键符号用斜杠表示出来例如:搜索{} 花括号里的内容,在表达式里用 “\{” 和 “\}”,
[\s\S]*是完全通配的意思,“[ ]”是范围描述符。
\s是指空白,包括空格、换行、tab缩进等所有的空白,而\S刚好相反,这样一正一反下来,就表示所有的字符,完全的,一字不漏的。
包括换行匹配的使用[\s\S]或者[\w\W]这样的完全通配模式。
来源地址:https://blog.csdn.net/weixin_41315600/article/details/125388874