c语言编程笔录

首页 >   > 笔记大全

笔记大全

match函数第三个参数

更新时间:2023-06-17

什么是match函数?

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。它返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

var str = "The rain in Spain falls mainly in the plain";
var res = str.match(/ain/g);

上面的例子中,数组 res 存放了在字符串中找到的所有 "ain"。

match()函数的第三个参数

这是match()函数的语法:

string.match(regexp)

regexp:必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数将其转换为 RegExp 对象。

我们现在来看一下 match 函数的第三个参数。第三个参数 flags 是可选的,它可以是下面的任何一个值:

  1. i:不区分大小写
  2. g:全文查找出现的所有匹配字符
  3. m:多行查找
  4. u:Unicode匹配模式
  5. y:执行“粘性”搜索,匹配从目标字符串的当前位置开始。如果没有从当前位置开始的匹配,则匹配失败

match()函数的 flags 参数的使用场景

flags 参数对于正则表达式中的某些特性很有用。举例如下:

1. 不区分大小写:

var str = "Visit W3School. Visit Microsoft.";
var res = str.match(/visit/gi);

在这种情况下,match() 函数返回字符串中所有的“visit”和“Visit”。

2. 全文查找出现的所有匹配字符:

var str = "The rain in Spain falls mainly in the plain. The rain in Spain is beautiful.";
var res = str.match(/ain/g);

上述代码将返回字符串中所有的“ain”,即 ["ain", "ain", "ain"]。如果没有设置全局标志(g),则 res 只会匹配到第一个“ain”。

3. 多行查找:

var str = "John\nDoe";
var res = str.match(/o/gm);

在这种情况下,match() 函数将返回字符串中所有的“o”,即 ["o", "o", "o"]。

结论

在实际开发中,match() 函数的第三个参数不是必需的,但当你需要某些特定的正则表达式特性时,这个参数便可以派上用场。