php - 用正则表达式分隔字符串

标签 php regex preg-match-all

当我尝试分隔该字符串时:

<b>Pristatymo laikas: </b>08-17h (visoje Lietuvoje)<br /><b>Dovanų kuponai:</b> <br />Panaudotas 200.00 Lt. dovanų kuponas, kurio kodas: xxxxx<br /><b>Mokėtina suma:</b> 12.00 Lt. <br />

使用 reg ex 模式:

<b>(.*)</b>

我得到了这场比赛:

<b>Pristatymo laikas: </b>08-17h (visoje Lietuvoje)<br /><b>Dovanų kuponai:</b> <br />Panaudotas 200.00 Lt. dovanų kuponas, kurio kodas: xxxxx<br /><b>Mokėtina suma:</b>

但是我得到了 <b> 中的所有单词标签分隔如下:

<b>Pristatymo laikas: </b>
<b>Dovanų kuponai:</b>
<b>Mokėtina suma:</b>

如何书写正确的模式?

最佳答案

使用.*?相反:

<b>(.*?)</b>

?量词(非贪婪)尽可能少地匹配,因此在第一次遇到 </b> 时停止

DEMO

关于php - 用正则表达式分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431406/

相关文章:

php file_get_contents 阿拉伯字符

php - 如何在php中的if语句中添加多个条件

php - 提取字符串中的每一次出现

php - 多个通配符 preg_match_all php

php - preg_match_all 用于括号内和括号外的单词

javascript - DOMDocument getelementbyid 冲突?

php - 按其他时间范围将时间范围拆分为多个部分

regex - 有没有办法从 Google 表格中的多行中查找并删除日期时间?

php - 这种 PCRE 模式如何检测回文?

javascript - 如何使用 Javascript Regex 检测和删除无效属性?