Пользовательский анализ сообщений ловушки SNMP - PullRequest
0 голосов
/ 26 сентября 2019

Следующая строка взята из сообщения прерывания SNMP.

1.3.6.1.4.1.34527.5.2.1.1.0 = 26-09-2019 10:33:08 T1E1 Layer-2 Down-Порт: 1

Как я могу получить " Layer " нет.и " Порт " нет.из приведенной выше строки.Ожидаемые значения:

Layer = 2 and Port = 1

Есть ли какое-либо решение для регулярных выражений javascript для этого?

var str = "1.3.6.1.4.1.34527.5.2.1.1.0 = 26-09-2019 10:33:08 T1E1 Layer-2 Down- Port: 1";

function getPortNo(str)
{

}

function getLineNo(str)
{

}

Уже я сделал с функцией "split ()".

var portNo = str.split("Port: ")[1];

1 Ответ

1 голос
/ 26 сентября 2019

Вы можете попробовать Layer\D+(\d+).+Port\D+(\d+)

Это сработает, только если Layer стоит до Port в вашей строке.

Объяснение:

\D+(\d+) -сопоставьте одну или несколько не цифр, затем сопоставьте одну или несколько цифр и сохраните их в группе захвата.

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...