Отрицать всю строку в golang regex - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу написать регулярное выражение, в котором я хочу отрицать всю строку.

Я пытался - inventory/[^getData] (предполагая, что строка getData проверит, что она не присутствует в выражении)

Iхотите, чтобы «инвентаризация / получение данных» не выполнялась при совпадении с регулярным выражением, тогда как «инвентаризация / получение» передавала соответствие регулярному выражениюВ основном хочу отрицать строку "getData" Как я могу это сделать?

1 Ответ

0 голосов
/ 27 февраля 2019

Если вся строка равна inventory/getData или inventory/get, это будет работать как положительное совпадение для inventory/get, но не inventory/getData

^inventory/get$

^соответствует началу строки, а $ соответствует концу

Этот шаблон подтверждает, что строка заканчивается на get, если она заканчивается getData, она не будет совпадать


Для проверкиболее сложный случай сопоставления с отрицанием, вот несколько примеров строк для сопоставления

  • 1) инвентарь / получить
  • 2) инвентарь / getData
  • 3) инвентарь/ snorkle
  • 4) инвентарь / getReal

inventory/[^g][^e][^t][^D][^a][^t][^a] соответствует только 3.Это связано с тем, что раздел [^g][^e][^t] не соответствует другим примерам

inventory/(?:[^g][^e][^t][^D][^a][^t][^a]|get.*) соответствует всем, кроме 2 - не уверен, но, возможно, это то, что вы просите?Как видите, отрицание с учетом данных испытаний

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