匹配以特定模式开头并以特定模式结束的字符串

时间:2014-05-22 03:48:17

标签: php regex

我必须获取以[[{开头并以}]]结尾的所有字符串。我试着用:

'/^\[\[\{*$\}\}\]\]/'

但它不起作用。

基本上我必须获取嵌入HTML文档中的一些JSON字符串。

2 个答案:

答案 0 :(得分:2)

你应该正确地放置锚。他们目前在错误的地方。这是正确的版本。您应该将其与preg_match_all(...)

一起使用
/\[\[\{.*?\}\]\]/

答案 1 :(得分:2)

这是lookarounds的完美用法,您可以这样使用它们:

$re = '/(?=\[\[\{).*?(?<=\}\]\])/m'; 
preg_match_all($re, $str, $matches);

在此处,preg_match_all()$str中搜索与$re中给出的正则表达式匹配的所有内容,并将其放入$matches

<强> Regex101 Demo