正则表达式JavaScript

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"]//去除空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值