Сопоставить все строки, кроме мастер |DEV - PullRequest
0 голосов
/ 27 июня 2019

Я хочу создать регулярное выражение, которое может соответствовать всем строкам, кроме набора, что-то вроде:

/[^master|dev]/

в основном строка будет соответствовать регулярному выражению, если строка не была литералом "master" или "dev ", кто-нибудь знает как?Вышесказанное в значительной степени совершенно неверно ..

console.log(
  /^master|dev/.test('master')
);

, и так тоже.

Ответы [ 3 ]

1 голос
/ 27 июня 2019

Если вы тестируете отдельные строки, которые вы не хотите найти
любой из этих предметов, это будет что-то вроде

^(?!.*(?:master|dev)).+$

Если проверка строки не совпадает точно с одной из них, именно эта

^(?!(?:master|dev)$).+$

0 голосов
/ 27 июня 2019

Рассматривали ли вы использование логического оператора НЕ (!)?

let input = "this is the input";

let excludeSet = ["master", "dev"];    

let regexp = new RegExp(excludeSet.join("|"));

// if `input` does not match string in `excludeSet`
if(!regexp.test(input)) {
}
0 голосов
/ 27 июня 2019

Попробуйте использовать отрицательный взгляд:

/^((?!(master|dev)).)*$/

Это просто соответствует строке - если вы хотите соответствовать слову:

/^((?!\b(master|dev)\b).)*$/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...