ES6 中添加的一个常用 JavaScript 元件是 Symbol.matchAll 属性。它用作元件对象的键。
Symbol.matchAll 属性用于创建表示正则表达式匹配的对象,可以迭代该对象以检索字符串中的所有匹配项。当使用全局正则表达式时,匹配字符串中模式的多个实例,此属性非常有用。
语法
以下是 JavaScript Symbol.matchAll 属性的语法 -
regExp[Symbol.matchAll](str);
参数
此属性采用一个字符串,该字符串用于查找正则表达式的匹配项。
返回值
此属性返回返回正则表达式 matches 的迭代器。
示例 1
让我们看看下面的示例,我们将在其中使用 for of 循环来迭代匹配项。
<html>
<style>
body {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<script>
const x = 'qikepu, com';
const reg_exp = /([A-Z])\w+/g;
for (const match of x.matchAll(reg_exp)) {
document.write(match[1] + " < br > ");
}
</script>
</body>
</html>
如果我们执行上述程序,它将在网页上显示文本。
示例 2
考虑另一个场景,我们将使用 Array.from 将迭代器转换为数组。
<html>
<style>
body {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<script>
const x = 'HELLO , everyone';
const reg_exp = /[A-Z]/g;
const a = Array.from(x.matchAll(reg_exp), m => m[0]);
document.write(JSON.stringify(a));
</script>
</body>
</html>
在执行上述脚本时,它将在网页上显示文本。
示例 3
在下面的示例中,我们将使用 flags 并重新转换所有匹配子字符串的迭代器,而不管大小写如何。
<html>
<style>
body {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<script>
const str = 'qikepucom, TP';
const regex = /tp/gi;
const matches = str.matchAll(regex);
for (const match of matches) {
document.write(match[0]);
}
</script>
</body>
</html>
当我们执行脚本时,它会在网页上显示一个文本。