繁体   English   中英

PHP Regex匹配多行字符串中的多次出现

[英]PHP Regex Match Multiple Occurrences in Multiple Lines String

我有以下多行CSS样式:

.style-1 {
    border-color: #2980B9;
}

.style-2 {
    background-color: #2980B9;
    #FFF;
}

.style-3 input[type=submit] {
    background-color: #2980B9;
    color: #FFF;
}

这是我的正则表达式模式: \\..*\\{\\s?\\s?+.*\\s?\\}\\s?\\s?+

https://regex101.com/r/tP7qE7/1

我想匹配从选择器到结束括号的每个规则,因此我可以在每个规则之前添加新的选择器并分别回显每个规则。 现在,使用上面的正则表达式模式,我只能得到第一个规则。 我尝试了preg_match()preg_match_all()没有成功。 如何使用正则表达式匹配每个规则?

先感谢您!

您可以将以下正则表达式( \\..*?\\{.*?\\} )与gs修饰符一起使用:

/\..*?\{.*?\}/gs

演示

\..*?\{\s?\s?+[\s\S]*?\s?\}\s?\s?+

您可以使用它。请参阅演示。

https://regex101.com/r/tP7qE7/3

您可以尝试此模式以匹配选择器

(?s)^\..*?\{.*?\}$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM