1

このようなバインドログ文字列を持っています

'09-Sep-2013 10:22:42.540 queries: info: client 10.12.12.66#39177: query: google.com IN AXFR -T (10.10.10.11)\n',

正規表現を使用して、日付、IP アドレス、およびクエリを抽出します

re.compile("(.*?) queries.*client (.*?): query: (.*?) IN")

次の出力を取得します

[('09-Sep-2013 10:22:42.540','10.12.12.66#39177','google.com')]

ほとんど素晴らしいですが、IPアドレスからハッシュポートの末尾を取り除くことはできません. この #39177 のように。誰かが正しいパターンで私を助けることができるかもしれません。それはハッシュとポートのものなしでIPアドレスを返します。

ありがとうございました。

4

1 に答える 1

0

#\d+これを試してください( IPアドレス保存グループの後に追加されたばかりです):

"(.*?) queries.*client (.*?)#\d+: query: (.*?) IN"

デモ:

>>> s = '09-Sep-2013 10:22:42.540 queries: info: client 10.12.12.66#39177: query: google.com IN AXFR -T (10.10.10.11)\n'
>>> re.search("(.*?) queries.*client (.*?)#\d+: query: (.*?) IN", s).groups()
('09-Sep-2013 10:22:42.540', '10.12.12.66', 'google.com')
于 2013-09-12T12:22:10.497 に答える