Saya sedang menulis skrip untuk melewati banyak peringatan email untuk sistem cadangan.

Saya perlu menargetkan nama server.

Saya sudah menulis skrip yang dapat menguraikan pandangan saya.

Masukan yang diharapkan adalah:

Kesalahan Server-DC 1:04:34 AM 1:00:12 (+1) 0,0 B 0,0 B 0,0 B (1x) 0:00:00 Salinan tambahan tidak diproses selama interval penyalinan

Kesalahan Server-DC2 1:05:30 AM 1:00:12 (+1) 0,0 B 0,0 B 0,0 B (1x) 0:00:00 Server terbakar

ABCDEFG Error 1:06:26 AM 1:00:12 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Seseorang menangis ke dalam powersupply dan sekarang server sedang offline

EXCH2019 Error 1:07:29 AM 1:00:12 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Backup gagal karena rasanya

SBS2003ISBAD Error 1:08:40 AM 1:00:12 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Pencadangan gagal karena seseorang mengira perangkat lunak pencadangan berbahaya

ANCIENT-DB Error 1:09:49 AM 1:00:12 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Windows memaksa pembaruan selama jendela pencadangan

FILESERVER Error 1:10:54 AM 1:00:13 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Saya kehabisan ide untuk menganonimkan data ini

VM4EVRYTING Error 1:12:11 AM 1:00:13 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Mengapa Anda masih membaca ini

WEBSERVER Error 1:13:19 AM 1:00:13 AM (+1) 0.0 B 0.0 B 0.0 B (1x) 0:00:00 Saya mendapatkan ratusan ini setiap hari Saya hanya menunjukkan 9

Saya perlu menargetkan nama server, yang SELALU sebelum "Kesalahan"

Aku mendapat:

(?sm)Error(?<servername>.*?)$.

Yang menetapkan semuanya setelah setiap contoh "kesalahan" sebagai tangkapan saya. Saya tidak yakin bagaimana mengatur semuanya SEBELUM "Kesalahan" sebagai tangkapan saya.

Berikut adalah contoh interaktif dari apa yang saya kerjakan: https://regex101.com/r/OWDrVn/ 2

Ada tips?

2
Ghawblin 5 Agustus 2019, 23:03

1 menjawab

Jawaban Terbaik

Anda bisa menggunakan grup penangkap dari awal string dan menangkap hingga kemunculan pertama spasi dan Kesalahan diikuti dengan spasi.

(?m)^(?<servername>.+?) Error 

Demo ekspresi reguler

2
The fourth bird 5 Agustus 2019, 20:13