+++
title = "Фильтровать переменные с регулярным выражением"
keywords = ["harvest", "templating", "documentation", "guide", "template", "variable"]
weight = 700
+++


# Фильтровать переменные с помощью регулярных выражений

Используя параметр Запроса регулярных выражений, вы фильтруете список параметров, возвращаемых запросом переменной, или изменяете возвращаемые параметры.

На этой странице показано, как использовать регулярное выражение для фильтрации / изменения значений в раскрывающемся списке переменных.

Используя параметр Запроса регулярных выражений, вы фильтруете список параметров, возвращаемых запросом переменной, или изменяете возвращаемые параметры. Для получения дополнительной информации обратитесь к руководству Mozilla по [Регулярным выражениям](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions ).

Примеры фильтрации в следующем списке опций:

``текстовый
сервер_01
серверная
часть_02 серверная часть_03 серверная
часть_04
```

## Фильтруйте так, чтобы возвращались только те параметры, которые заканчиваются на `01` или `02`.:

Регулярное выражение:

``регулярное выражение
/.*[01|02]/
```

Результат:

``текстовый
сервер_01
сервер_02
```

## Отфильтруйте и измените параметры, используя группу захвата регулярных выражений, чтобы вернуть часть текста:

Регулярное выражение:

``регулярное выражение
/.*(01|02)/
```

Результат:

``текст
01
02
```

## Фильтровать и изменять - Пример Prometheus

Список опций:

``текст
вверх{экземпляр="demo.robustperception.io:9090",задание="прометей"} 1 1521630638000
up{экземпляр="demo.robustperception.io:9093",задание="alertmanager"} 1 1521630638000
up{экземпляр="demo.robustperception.io:9100",задание="узел"} 1 1521630638000
```

Регулярное выражение:

``регулярное выражение
/.*экземпляр="([^"]*).*/
```

Результат:

``текст
demo.robustperception.io:9090
demo.robustperception.io:9093
demo.robustperception.io:9100
```

## Фильтруйте и изменяйте, используя группы захвата именованного текста и значений

> ** Примечание:** Эта функция доступна в Harvest 7.4+.

Используя именованные группы захвата, вы можете захватывать отдельные части "текст" и "значение" из параметров, возвращаемых запросом переменной. Это позволяет раскрывающемуся списку переменных содержать понятное имя для каждого значения, которое можно выбрать.

Например, при запросе метрики Prometheus `node_hwmon_chip_names` значение `chip_name` намного более дружелюбно, чем значение `chip`. Таким образом, следующий результат запроса переменной:

``текст
node_hwmon_chip_names{чип="0000:d7:00_0_0000:d8:00_0",имя_чипа="enp216s0f0np0"} 1
node_hwmon_chip_names{чип="0000:d7:00_0_0000:d8:00_1",имя_чипа="enp216s0f0np1"} 1
node_hwmon_chip_names{чип="0000: d7:00_0_0000:d8:00_2",имя_чипа="enp216s0f0np2"} 1
node_hwmon_chip_names{чип="0000:d7:00_0_0000:d8:00_3",имя_чипа="enp216s0f0np3"} 1
```

Передается через следующее регулярное выражение:

``регулярное выражение
/имя_чипа="(?<текст>[^"]+)|чип="(?<значение>[^"]+)/g
```

Приведет к появлению следующего выпадающего списка:

``текст
Отображаемое Значение Имени
------------ -------------------------
enp216s0f0np0 0000:d7:00_0_0000:d8:00_0
enp216s0f0np1 0000:d7:00_0_0000:d8:00_1
enp216s0f0np2 0000:d7:00_0_0000:d8:00_2
enp216s0f0np3 0000:d7:00_0_0000:d8:00_3
```

** Примечание: ** Поддерживаются только имена групп захвата "текст` и "значение".
