JavaScript - Symbol.match 属性



名为 Symbol.match 的 JavaScript 元件用作方法的键,该方法确定正则表达式匹配操作中对象的行为。它允许您自定义对象的匹配方式,例如,它们如何响应对 String.prototype.match() 方法的调用。

使用此元件,程序员可以为对象构建自定义匹配逻辑,这超出了内置的 JavaScript 类型行为。开发人员可以使用此功能将正则表达式匹配的适应性扩展到其应用程序中更多种类的数据类型和结构。

语法

以下是 JavaScript Symbol.match 属性的语法 -


 regexp[Symbol.match] = false;

参数

此属性不接受任何类型的参数

返回值

这将返回字符串匹配的布尔值。如果找到 match,则返回 true,否则返回 false。

示例 1

让我们看看下面的例子,我们将在其中自定义匹配行为。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = {
	 	 	 	 	 	 [Symbol.match](a) {
	 	 	 	 	 	 	 	return a.indexOf('Tp') !== -1 ? 'true' : false;
	 	 	 	 	 	 }
	 	 	 	 	};
	 	 	 	 	document.write('qikepucom Tp'.match(x));
	 	 	 </script>
	 	</body>
</html>

如果我们执行上述程序,它将在网页上显示文本。

示例 2

考虑另一个场景,我们将使用 Symbol.match 来定义对象的匹配行为。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	let x = {
	 	 	 	 	 	 [Symbol.match](a) {
	 	 	 	 	 	 	 	return 'qikepucom'.indexOf(a) !== -1;
	 	 	 	 	 	 }
	 	 	 	 	};
	 	 	 	 	document.write('M'.match(x), " < br > ");
	 	 	 	 	document.write('P'.match(x));
	 	 	 </script>
	 	</body>
</html>

在执行上述脚本时,它将在网页上显示文本。

示例 3

在下面的示例中,我们将使用 Symbol.match 属性来仅匹配字母。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = {
	 	 	 	 	 	 [Symbol.match]: function(string) {
	 	 	 	 	 	 	 	return string.match(/[a-zA-Z]+/g);
	 	 	 	 	 	 }
	 	 	 	 	};
	 	 	 	 	const a = 'T123U456T6272O673R262I522X'.match(x);
	 	 	 	 	document.write(a);
	 	 	 </script>
	 	</body>
</html>

当我们执行脚本时,它会在网页上显示一个文本。

示例 4

下面是一个示例,我们将使用 Symbol.match 来匹配特定的模式。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = {
	 	 	 	 	 	 [Symbol.match]: function(string) {
	 	 	 	 	 	 	 	return string.match(/(\d+)/g);
	 	 	 	 	 	 }
	 	 	 	 	};
	 	 	 	 	const a = 'T1U2T3O1R4I3X'.match(x);
	 	 	 	 	document.write(a);
	 	 	 </script>
	 	</body>
</html>

在执行上述脚本时,将弹出输出窗口,在网页上显示数字。