欢迎访问宙启技术站
智能推送

match()函数详解及正则表达式示例

发布时间:2023-06-17 22:36:08

match函数是JavaScript中用于在字符串中查找匹配正则表达式的函数。它返回字符串中第一个匹配项的位置,并可以返回捕获组的内容。

match函数有两个参数,第一个参数是正则表达式,第二个参数是可选的字符串位置。

语法:

string.match(regexp);

string.match(regexp, position);

其中,regexp是正则表达式对象,position是表示从哪个字符开始检索的位置,默认为0。

match函数的返回值是一个数组,数组的第一个元素是匹配结果,如果没有匹配则返回null。如果正则表达式包含了捕获组,那么数组的后面的元素就是捕获组的内容。

正则表达式的语法比较复杂,下面给出一些常见的正则表达式示例:

匹配数字:

var str = "1001 apples and 888 grapes";

var patt = /\d+/g;

var result = str.match(patt);

console.log(result); //["1001", "888"]

解释:\d表示匹配数字,+表示匹配1个或多个;g表示全局查找。

匹配手机号码:

var str = "My phone number is 13888888888";

var patt = /1[3456789]\d{9}/g;

var result = str.match(patt);

console.log(result); //["13888888888"]

解释:1表示以1开头,[3456789]表示第二位可以是3~9中的任意一个数字,\d{9}表示后面要连续匹配9个数字。

匹配邮箱:

var str = "My email address is tom@qq.com";

var patt = /\w+@\w+\.\w+/g;

var result = str.match(patt);

console.log(result); //["tom@qq.com"]

解释:\w表示匹配任意单词字符(包括数字、字母、下划线),+表示匹配1个或多个;@、.是字面匹配。

匹配URL:

var str = "Please visit my blog at https://www.example.com";

var patt = /https?:\/\/[^\s]+/g;

var result = str.match(patt);

console.log(result); //["https://www.example.com"]

解释:https?表示http或https,\/\/是匹配实际的//符号;[^\s]+表示连续匹配至少一个非空格字符。

匹配中文汉字:

var str = "这是一段中文文本";

var patt = /[\u4e00-\u9fa5]+/g;

var result = str.match(patt);

console.log(result); //["这是一段中文文本"]

解释:\u4e00-\u9fa5表示匹配所有的中文字符,包括汉字、标点符号等。

总结:match函数是JavaScript中用于查找字符串匹配正则表达式的函数,正则表达式的语法比较复杂,需要多多练习。