Регулярное выражение: как бороться с персонажем / - PullRequest
0 голосов
/ 24 апреля 2018

Я использую grafana для получения данных агента zabbix.

Мне нужно сопоставить только одно из следующих значений:

Свободное место на C: (в процентах)

Свободное место на / (в процентах)

Это выражение не позволяет совпадать со вторым:

/^(Free space on C: (Percentage)|Free Space on \/ (Percentage))$/

Даже в онлайн-регулярных выражениях текст также не совпадает.

Я почти уверен, что проблема с персонажем /.

Ответы [ 3 ]

0 голосов
/ 24 апреля 2018

Попробуйте это:

/^Free [Ss]pace on (?:C:|\/) \(Percentage\)$/gm

Демо

0 голосов
/ 24 апреля 2018

Чтобы соответствовать одному из ваших значений, вы должны экранировать \ круглые скобки вокруг (Percentage)

^(Free space on C: \(Percentage\)|Free Space on \/ \(Percentage\))$

Если вы хотите только соответствоватьзначения могут использовать группу без захвата ^(?:

0 голосов
/ 24 апреля 2018

Как насчет того, если вы избежите косой черты, как эта?

/^(Free space on C: (Percentage)|Free Space on // (Percentage))$/

Демо

...