1

我有这个模式

PlayerName<UID><STEAM_ID><TEAM>

^(.+?)<(.+?)><(.+?)><(.+?)>$

这看起来很容易解析(我需要分别拥有 PlayerName、UID、STEAM_ID 和 TEAM)。但是 playerName 可能包含“<”和“>”。例如

SkOrPiOn <38> rus<1020><STEAM_0:0:985442350><Unassigned>

我们得到这个

[('SkOrPiOn ', '38> rus<1020', 'STEAM_0:0:985442350', 'Unassigned')]

如您所见,结果是错误的。

我所能做的,这是反向字符串和正则表达式模式,得到这个

[('dengissanU', '053244589:0:0_MAETS', '0201', 'sur >83< nOiPrOkS')]

现在我可以反转这个变量。但是有没有更正确的方法来获得我需要的东西?

4

1 回答 1

1

摆脱第一个?。它是一个修饰符,意思是“匹配尽可能少的字符”。您想要尽可能匹配的默认行为。

^(.+)<(.+?)><(.+?)><(.+?)>$
于 2012-08-31T02:57:33.667 回答