如果包含字符串,则获取方括号之间(包括方括号)的所有内容

时间:2019-01-31 15:10:34

标签: php regex

我看到了与此非常相似的问题,但我认为我的观点略有不同。

我有这样的字符串

[map=”enabled”, lat=”53.155206″, long=”-2.078422″, zoom=”14″]

使用正则表达式,如何根据以下内容获取字符串

  • 放在方括号中
  • 以map =“ enabled”开头

我会以为是这样的

\[(map=("enabled"))+\]

我已经研究了在方括号内匹配精确字符串的方法,但是当遇到"字符时,我有点困惑,然后抓起整个字符串直到并包括了右括号?

1 个答案:

答案 0 :(得分:1)

如果{strong}紧挨着map=”enabled”,然后打开[,则可以将此正则表达式与否定的字符类一起使用:

/\[map=”enabled”[^]]*]/

RegEx Demo 1

但是如果map=”enabled”可以位于[...]内的任何地方,请使用:

/\[[^]]*?map=”enabled”[^]]*]/

RegEx Demo 2