首页 > 解决方案 > 用于匹配特定标签之间特定字符串的所有实例的正则表达式

问题描述

我正在尝试匹配/替换“br”标签的所有实例,但前提是它们被 {c} {/c} 分隔符包围。这是我现在拥有的正则表达式模式:

/{c}.*(<br>).*{\/c}/mgsU

我目前的问题是它只匹配第一个标签,而忽略其余标签,除非有另一个 {c}{/c} 块,它做同样的事情。这是我为测试目的创建的 regex101 页面的 URL:https ://regex101.com/r/eVI53z/2

它有一个测试字符串,我想要的输出将匹配第 2,3 行、第 5 行的结尾、{/c} 标记之前的第 6 行开头、第 12 行的结尾、第 15 行的三个标记和第 16 行的中间.

任何帮助将不胜感激。多谢你们!

标签: phpregextagsinstances

解决方案


尝试这个:

{c}(.*(<br>).*){\/c}

推荐阅读