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 に答える