如何在RegEx中查找特定模式的多个实例


How to find many instances of a specific pattern in RegEx?

当前(在PHP中)我有以下正则表达式模式:

'[(.*) (.*)=(.*)']

这与[doSomething limitation=true]匹配

最终的结果是,我的代码将解释该字符串,并用为其返回的任何值替换它

然而,我的一些代码需要多个变量发送到函数,例如:

[doSomething limitation=true otherlimitation=false sendfile=1 title="你好"]

如何使正则表达式中的(.)=(.)可重复,以便它匹配发送的每个变量,包括函数的第一个(最重要的)名称?

以下可能适用于您:

'[(.*) ((.*)=(.*))+']

您可能还想将星号替换为加号。目前,您的正则表达式将匹配[ =]作为有效字符串。

'[(.+) ((.+)=(.+))+']