JavaScript 字符串匹配方法快速指南

String.prototype.match()(也称为:字符串的匹配方法)可以允许您关闭字符串或设置条件,如果一个字符串或任何数据匹配。

首先是语法,然后是解释:

1let newArray = string.match(condition);

术语

字符串 match() 方法将返回一个数组,其中对应的项目来自在字符串中找到的提供的 正常表达式

请记住,当所有条件匹配时,这些结果将存储在新的 ** 数组中。

举以下例子:

1const intro = "Hello Alligators, Hello Devs, how are you?"
2
3const regex = /Hello/g;
4
5const greeting = intro.match(regex);

上面的结果会给我们一个类似的数组:你好,你好,如果我们知道我们想要匹配的确切字符串,那么这很好,但动态内容或实际使用案例呢?

以下是一個簡單的例子,在一個字符串中找到重複的字母:

1const str = 'See you later, Alligator! Not so soon baboon!';
2const matches = str.match(/([a-z])\1+/gi);
3
4console.log('H' + matches.join(""));
5// "Heelloooo"

虽然这些都是简单的例子,你越深入地了解常规表达式,这个字符串方法就越强大。


比赛方法有3种模式...

  • 1st:如果为您的 RegEx 使用了 g(全球)旗,则所有结果将存储在一个数组中
  • 2nd:如果没有使用过 g 旗,那么第一个匹配将返回一个数组,其中包含第一个匹配表达式的键/值共享索引,然后是完整输入,然后是捕捉组。
1let newYear = "Happy New Year";
2let results = newYear.match(/new/i);
3// [ 'New', index: 6, input: 'Happy New Year', groups: undefined ]
  • 3rd:如果没有匹配,该方法会返回null,或用以下代码返回一个空数组:
1let results = newYear.match(regex) || [];

结论

匹配是一种有趣的小方法,可以用很多创意的方式,例如从段落中提取关键字或替换单词,如果条件匹配了regex。

Published At
Categories with 技术
Tagged with
comments powered by Disqus