Regex 星际争霸重播正则表达式,括号问题

Regex 星际争霸重播正则表达式,括号问题,regex,rss,yahoo,yahoo-pipes,Regex,Rss,Yahoo,Yahoo Pipes,[2v2]race=[TPvZP]map=[Monlyth Ridge]玩家=[player 1(T)(w),player 2(p)(L)vs player 3(Z)(w),player 4(p)(w)]长度=[00-10-06] 在一家星际争霸网站上为利特利昂(职业玩家)工作,我正在努力寻找以下情况下的正则表达式。[括号导致正则表达式过长 我想要下面的刺 (例如) 游戏类型:2v2 比赛:TPvZP 地图:周一岭 播放者1:姓名 播放者2:姓名 播放者3:姓名 播放者4:姓名 玩家1-4:比赛

[2v2]race=[TPvZP]map=[Monlyth Ridge]玩家=[player 1(T)(w),player 2(p)(L)vs player 3(Z)(w),player 4(p)(w)]长度=[00-10-06]

在一家星际争霸网站上为利特利昂(职业玩家)工作,我正在努力寻找以下情况下的正则表达式。[括号导致正则表达式过长

我想要下面的刺 (例如) 游戏类型:2v2 比赛:TPvZP 地图:周一岭 播放者1:姓名 播放者2:姓名 播放者3:姓名 播放者4:姓名 玩家1-4:比赛(P,T,Z,R) 玩家1-4:赢(W,L) 比赛时长:10分6秒


我在S.O.搜索了好几天,似乎找不到解决办法。

给定字符串
[2v2]race=[TPvZP]map=[Monlyth Ridge]players=[player 1(t)(w),player 2(p)(L)vs player 3(Z)(w),player 4(p)(w)]Length=[00-10-06]

~(\w*)\s*=\s*)?\[(.*)\]~msx
将产生以下结果:

"" => 2v2
race => TPvZP
map => Monlyth Ridge
players => player 1(T)(w), player 2(P)(L) vs player3(Z)(W), player4(P)(W)
Length => 00-10-06
然后在
玩家
上应用
~(.*?)\(\w)\(\w)\(\w)\)\s*,?\s*(vs)?~msx
应该会产生如下结果:

[2] => Array
    (
        [0] => T
        [1] => P
        [2] => Z
        [3] => P
    )

[3] => Array
    (
        [0] => w
        [1] => L
        [2] => W
        [3] => W
    )

这似乎足以生成所需的输出字符串。

除了搜索之外,您还尝试了什么?*([^players])*([^map])这是我得到的最接近的结果。+?vs(+?)=分隔团队,但在团队2上,我得到的长度=[时间],所以我不确定如何在长度之前结束。我建议你读一本好的regex教程…谢谢你帮我整理一下。我买了一本朋友推荐的regex书。