2

我需要一点帮助。

所以我有字符串:
{block name="something" param1="param" param2="param"}
它可以是:
{block name="something"}
{block name="something" param1="value" sm="value" ng="value" um="param" .. and so on}

我需要的是捕获所有可能的参数。

到目前为止我能想到的是{(?<type>[\w]+) ((?<param>[\w]+)="(?<value>[\w]+)"),但它只捕获第一个参数 - “名称”:/

任何帮助将不胜感激。

4

1 回答 1

1

这里需要使用\G in-order 进行连续的字符串匹配。\h匹配任何水平空白字符。

(?:^\{(?<type>\w+)|\G)\h*((?<param>\w+)="(?<value>\w+)")

演示

于 2015-02-06T08:47:46.610 回答