var strs="我是一个2004年出生的男人,我今年21岁了。";
//正则表达式
//创建方法 修饰符i,g,,
var regexp=new RegExp('/abc/')//RegExp("/abc/",修饰符)
var regexp=/abc/ /* /abc/修饰符 */
//test()方法:返回bool,判断是否含有字符
var reg=/我是/;
console.log(reg.test(strs)); //true
//exec()方法:返回数组,返回匹配的字符,没有返回null
var reg=/我/;
var reg2=/你/;
console.log(reg.exec(strs)); //[ '我', index: 0, input: '我是一个2004年出生的男人,我今年21岁了。', groups: undefined ]
console.log(reg2.exec(strs)); //null
//组匹配,先匹配整体,再匹配组,即依次()中的内容,追加到数组中 index表示整体匹配成功的起点位置
var strs='文字1文字2文字3文字4文字5文字6文字7文字8文字9文字10';
var reg=/字1(文字2)(文字3)/
console.log(reg.exec(strs));
//match()方法:返回数组,返回匹配的字符,没有返回null,它和exec()方法的区别是,表达式在字符串中的后面,并且可以返回所有匹配的字符
var strs='文字1文字2文字3文字4文字5文字6文字7文字8文字9文字10';
var reg=/字1(文字2)(文字3)/
console.log(strs.match(/文字/g));//[ '文字', '文字', '文字', '文字', '文字', '文字', '文字', '文字', '文字', '文字' ]
console.log(strs.match(reg));
/*
[
'字1文字2文字3',
'文字2',
'文字3',
index: 1, //整体匹配成功的起点位置
input: '文字1文字2文字3文字4文字5文字6文字7文字8文字9文字10',
groups: undefined
]
*/
//search()方法:返回匹配的字符位置,没有返回-1
var strs='文字1文字2文字3文字4文字5文字6文字7文字8文字9文字10';
console.log(strs.search("文字2")); //3
//replace()方法:替换匹配的字符
var strs='文字1文字2文字3文字4文字5文字6文字7文字8文字9文字10';
console.log(strs.replace(/文字2/,"文字100")); //文字1文字100文字3文字4文字5文字6文字7文字8文字9文字10
//替换全部.可以使用replaceAll(),也可以使用正则表达式 /g表示全局匹配,\d表示数字
console.log(strs.replace(/文字\d/g,"文字100")); //文字100文字100文字100文字100文字100文字100文字100文字100文字100文字100
//split()方法:分割字符串 去除空格
var strs='1,2,3 ,4, 5, 5'
// 传统方法
console.log(strs.split(",")); //["1", "2", "3 ", "4", " 5", " 5"]//没有去除空格
//正则表达式 这里的/, */中表示匹配0个或多个空格:空格*
console.log(strs.split(/, */)); //["1", "2", "3", "4", "5", "5"]//去除空格
正则表达式JavaScript
于 2025-03-20 21:06:08 首次发布