Я получаю данные от сервера следующим образом (пример входных данных):
[1284336000]: host1;event1;flag;state;counter;errors or warnings
[1284336000]: host2;event1;flag;state;counter;errors or warnings
[1284336000]: host1;event2;flag;state;counter;errors or warnings
[1284336000]: host2;event2;flag;state;counter;errors or warnings
Я должен сопоставить ввод и на основании совпадения создать переменную со значением hostname-eventname
.
My Regex
^\[\d+\]:\s((host1);(event1)|(host2);(event2)|(host3);(event2)|(host2);(event1));(\w+);(\w+);(\d).+$
Я хочу отдельно указать имя хоста и событие в ссылочных переменных, таких как $2
или $3
.
Например, рассмотрим этот ввод:
[1284336000]: host1;event1;flag;state;counter;errors or warnings
Мне нужно создать переменную с именем <hostname-eventname>
в соответствии с именем хоста и именем события, полученным из вышеуказанного совпадения.
Say,
$myVar=$2-$3 (that is, $myVar=host1-event1)
Я не могу применить какую-либо операцию разделения. Так что без программирования: я могу только читать входные данные. И да, регулярное выражение относится к типу регулярных выражений Perl.
Не знаю, уточнил я свой запрос или нет?