Условные негативные взгляды - PullRequest
0 голосов
/ 22 мая 2019

Использование регулярного выражения для соответствия строке ([0-99]% loss), то есть, если число внутри находится между 0 и 99. Однако, если текст содержит специальный codeword, совпадение не должно быть, даже если% <100. </p>

Например, этот должен соответствовать: ✓

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Packets: Sent = 100, Received = 1, Lost = 99 (99% loss)

Но не эти четыре: 101

Test of codeword string:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

Another codeword test:
Packets: Sent = 4, Received = 2, Lost = 2 (50% loss)

Final test:
Packets: Sent = 70, Received = 0, Lost = 70 (100% loss)

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Packets: Sent = 100, Received = 0, Lost = 100 (100% loss)

В настоящее время я написал регулярное выражение \((?!100)\d+% loss\), чтобы перехватить необходимые строки, которые не содержат codeword, но не может расширить регулярное выражение, чтобы оно блокировало codeword, если оно присутствует. Я думаю об условно-негативном прогнозе какого-то рода (например, (?!codeword)|\((?!100)\d+% loss\)?), Но как он будет выглядеть?

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