匹配所有字符串,除了master |开发者

时间:2019-06-27 00:37:07

标签: javascript node.js regex string

我想创建一个正则表达式,可以匹配除集合外的所有字符串,例如:

<Button onPress={this.getWifiNetworksOnPress}>
    Search Networks
</Button>

如果该字符串不是文字“ master”或“ dev”,则基本上该字符串将与正则表达式匹配,有人知道吗?以上几乎是完全错误的。

/[^master|dev]/

也是。

3 个答案:

答案 0 :(得分:1)

如果要测试不想找到的单个字符串
其中的任何一项,都将是

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

如果测试字符串不完全等于其中之一,则为

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

答案 1 :(得分:0)

尝试否定前瞻:

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

这只匹配字符串-如果要匹配单词:

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

答案 2 :(得分:0)

您是否考虑过使用逻辑NOT运算符(!)?

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)) {
}