正则表达式match方法
时间: 2023-10-12 07:19:15 浏览: 93
正则表达式的match方法是用于在字符串中搜索匹配正则表达式的模式。该方法接受一个正则表达式作为参数,并在调用它的字符串中寻找匹配该模式的子字符串。如果找到了匹配的子字符串,则返回一个匹配对象;如果没有找到匹配的子字符串,则返回null。
match方法的语法如下:
```
string.match(regexp)
```
其中,string是要搜索的字符串,regexp是要匹配的正则表达式,可以是一个字符串或者RegExp对象。
如果regexp是一个字符串,那么它会被隐式地转换为一个RegExp对象。例如,下面两个语句是等价的:
```
var re = /abc/;
var re = new RegExp("abc");
```
match方法返回的匹配对象有以下属性:
- input:原始字符串。
- index:匹配子字符串的起始位置。
- [0]:匹配到的整个子字符串。
- [1]、[2]、[3]、...:如果正则表达式中有分组,用于存储每个分组匹配到的子字符串。
举个例子,假设我们要在一个字符串中查找所有以数字开头的单词,可以使用下面的正则表达式:
```
var str = "1 apple, 2 bananas, 3 oranges";
var re = /\b\d+\s\w+\b/g;
var matches = str.match(re);
console.log(matches); // ["1 apple", "2 bananas", "3 oranges"]
```
在这个例子中,`\b`表示单词边界,`\d+`表示一个或多个数字,`\s`表示一个空格,`\w+`表示一个或多个字母、数字或下划线,`g`表示全局匹配。因此,我们使用这个正则表达式来调用`match`方法,得到了一个包含所有匹配结果的数组。
阅读全文