-3
私は例えば、ログをソートする方法を把握しようとしている...正規表現を使用してログを並べ替える?
- ユーザー:テスト
- レベル:ユーザー
- ドメイン:localhostの
- 時間:12時
- 何とか: INFO
- 日:2016年7月12日
- IP:127.0.0.1
出力テキストをこのようにしたいと思います。タブスペースもあります。
ユーザー:レベル:ドメイン:時間:ブラブラ:日付:私は右のあなたの質問を取得した場合はIP
私は例えば、ログをソートする方法を把握しようとしている...正規表現を使用してログを並べ替える?
出力テキストをこのようにしたいと思います。タブスペースもあります。
ユーザー:レベル:ドメイン:時間:ブラブラ:日付:私は右のあなたの質問を取得した場合はIP
、あなたはソートが、パースについてではない話をしています。別の形式に変換するログ文字列があります。あなたのログの文字列にマッチする正規表現を使用すると、非常に多くのグループを持っているので、ここでは出力が
あるimport re
logString = "User:Level:Domain:Time:Blah:Date:IP"
logGroups = ["User", "Level", "Domain", "Time", "Blah", "Date", "IP"]
reLogGroups = "(?P<"+">[^:]+):(?P<".join(logGroups)+">[^:]+)"
matchLogGroups = re.search(reLogGroups,logString)
if matchLogGroups:
counter = 1
for logGroup in logGroups:
print(str(counter)+". " + logGroup + ": " + matchLogGroups.group(logGroup) + "\n")
counter += 1
のpythonの例ですが、はるかに効率的に行うことができる、しかし
(?P<User>[^:]+):(?P<Level>[^:]+):(?P<Domain>[^:]+):(?P<Time>[^:]+):(?P<Blah>[^:]+):(?P<Date>[^:]+):(?P<IP>[^:]+)
だろう
1. User: User
2. Level: Level
3. Domain: Domain
4. Time: Time
5. Blah: Blah
6. Date: Date
7. IP: IP
何を並べ替えますか?任意のフィールドでソートする方法を尋ねていますか?どの言語で?この質問は正規表現と何が関係していますか? –