Node.js - doesNotMatch() 函数



Node.js assert.doesNotMatch() 函数将期望作为参数传递的 string 与将在第二个参数中传递给函数的 regexp 不匹配。

这是 Node.js 的 assert 模块的内置函数。

语法

以下是 assert.doesNotMatch() 函数的语法Node.js -


 assert.doesNotMatch(string, regexp[, message]);

参数

此函数接受三个参数。下面将对此进行描述。

  • string − (必需) 此参数仅在输入是字符串时才接受,否则它将向输出抛出 AssertionError。
  • regexp − (必需) 在此参数中,我们需要传递一个不应与 string 匹配的 regexp 。如果两个输入( string regexp )相同,它将向输出抛出 AssertionError。
  • message − (可选)字符串或错误类型可以作为输入传递给此参数。

返回值

当两个输入( string regexp )相同时,此方法将向输出抛出 AssertionError。

在下面的示例中,我们将 string regexp 值与 message 一起传递给Node.js assert.doesNotMatch() 函数。


const assert = require('assert');

var str = 'Qikepu';
var reg = /E-learning platform/;

assert.doesNotMatch(str, reg, 'Both are not matching');

输出

当我们编译并运行代码时,该函数不会向输出抛出任何 AssertionError,因为字符串和 regexp 都不相同。

// 不返回任何内容

在下面的示例中,我们将 string regexp 值与 message 一起传递给Node.js assert.doesNotMatch() 函数。但是我们传递给 string 的值是一个整数。


const assert = require('assert');

var str = 96864;
var reg = /E-learning platform/;

assert.doesNotMatch(str, reg, 'Integer is passes instead of string');

输出

当我们编译并运行代码时,该函数会将 AssertionError 和 message 抛出到输出中,因为 String 输入值只能是字符串。

/home/cg/root/639c2bf348ea8/main.js:6
assert.doesNotMatch(str, reg, 'Integer is passes instead of string');
^

TypeError: assert.doesNotMatch is not a function
at Object.<anonymous> (/home/cg/root/639c2bf348ea8/main.js:6:8)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的示例中,我们将 String 和 regexp 传递给Node.js assert.doesNotMatch() 函数进行比较。但是我们还没有将任何文本传递给 message 参数。


const assert = require('assert');

var str = 436;
var reg = /Number/;

assert.doesNotMatch(str, reg);

输出

当我们编译并运行代码时,该函数将分配一个默认错误消息。

/home/cg/root/639c2bf348ea8/main.js:6
assert.doesNotMatch(str, reg);
^

TypeError: assert.doesNotMatch is not a function
at Object.<anonymous> (/home/cg/root/639c2bf348ea8/main.js:6:8)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的示例中,我们将 string regexp 值与消息一起传递给Node.js assert.doesNotMatch() 函数。


const assert = require('assert');

var str = 'Bahubali';
var reg = /Bahubali/;

assert.doesNotMatch(str, reg, 'Both the values are exactly same');

输出

当我们编译并运行代码时,该函数将向输出抛出 AssertionError,因为 string regexp 都是相同的。

/home/cg/root/639c2bf348ea8/main.js:6
assert.doesNotMatch(str, reg, 'Both the values are exactly same');
^

TypeError: assert.doesNotMatch is not a function
at Object.<anonymous> (/home/cg/root/639c2bf348ea8/main.js:6:8)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的示例中,我们将 string regexp 值与 message 一起传递给Node.js assert.doesNotMatch() 函数。


const assert = require('assert');

var str = 'Good to see you back officer';
var reg = /see/;

assert.doesNotMatch(str, reg, 'Both the values are partially same');

输出

当我们编译并运行代码时,该函数将向输出抛出 AssertionError,因为 string regexp 部分相同。

/home/cg/root/639c2bf348ea8/main.js:6
assert.doesNotMatch(str, reg, 'Both the values are partially same');
^

TypeError: assert.doesNotMatch is not a function
at Object.<anonymous> (/home/cg/root/639c2bf348ea8/main.js:6:8)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)