1

文字列を解析したい:

????log L 07/31/2012 - 14:32:50: "Username1<4><STEAM_ID_PENDING><CT>" killed "Username2<2><STEAM_ID_PENDING><TERRORIST>" with "m4a1"

値を取得する必要があります:

  1. ユーザー名1
  2. ユーザー名2
  3. m4a1

正規表現パターンがあります

Regex reg = new Regex("[^\"]+\"([^<]+)<[^\"]+\" killed \"([A-Za-z0-9]+)[^\"]+\" with \"([A-Za-z0-9]+)\"");

_これは、2番目のユーザー名にthisまたはthisが含まれていない場合に完全に機能し- ます。最初に値を取得する正規表現が含まれている場合。

パターンを変更するのを手伝ってください

ありがとう

4

2 に答える 2

1

これに置き換えます:

Regex reg = new Regex("[^\"]+\"([^<]+)<[^\"]+\" killed \"([^<]+)[^\"]+\" with \"([A-Za-z0-9]+)\"")

名前を見つけるためのグループは次のとおりです。

([A-Za-z0-9]+)

私はそれを次のように置き換えました:

([^<]+)

これは、最初のユーザー名を見つけるために使用されるパターンです。

于 2012-08-03T09:23:50.920 に答える
0

これを試して

(?<Username1>"Username1(?<data>[^"]*)")\s+killed\s+(?<Username1>"Username2(?<data>[^"]*)")\s+with\s+(?<m4a1>"m4a1(?<data>[^"]*)")

名前付きグループは、それぞれの値を返します。

于 2012-08-03T09:20:29.297 に答える