javascript正则表达式中字符串和RegExp上常用的方法

正则表达式的创建方式:

1、使用正则表达式自变量:/pattern/flag   脚本加载后即可得到编译,如果表达式不是变化的,用这种方式效率更高。

2、使用RegExp对象:new RegExp('pattern','flag'); 这种方式,在运行时编译,适用于事先不能确定表的式的规则。

两种创建方式的简单使用:

var str = 'bd12 er3rt4ui89 7 2 99';  // 得到字符串的数字
document.write(str.match(/\d+/g));  // 使用正则表达式子变量
var reg = new RegExp('\\d+','g');  // 使用RegExp对象
console.log(str.match(reg));

编写方式有:

简单模式(直接匹配给出的字符,如/abc/就匹配abc);

                     使用特殊字符(/ab*c/,匹配一个a,后面0个或多个b,一个c)。

字符串和RegExp的方法:

reg.exec()  返回匹配结果数组,不匹配则返回null,每执行一次就向后匹配一次,如果表达式有g选项进行全局搜索,则可以多次使用exec,下次的匹配从上次的结果开始。如果表达式中有括号,称为组匹配,返回结果中,第一个是整体匹配的结果,后面依次是没个括号匹配的结果。

reg.test() 返回true/false,表示是否匹配成功。

str.match(reg)  与reg.exec()相似,但是,如果使用g选项,则str.match()一次返回所有结果。

str.search(reg)  返回匹配成功的第一个位置,这和str.indexOf()的使用相类似,但是str.search(reg)使用更灵活,因为可以写正则表达式。

str.replace(reg,nwstr)方法不改变原字符串的值,返回的是一个新字符串。第一参数reg去匹配,第二个参数nwstr去替换。

var str1 = str.replace('d','A'); //将字符串中的第一个字符d替换成A
var str2 = str.replace(/d/g,'B'); // 将字符串中的所有字符d替换成B

str.split(reg,[maxLength]) 用匹配的模式切割,第二个参数是限制返回结果的最大个数。如str.split(/\s+/,2),就表示以空格切割字符串,且返回结果的个数为2.

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值