用于模式匹配的String方法和RegExp方法

本文介绍了JavaScript中正则表达式的应用,包括String方法如search、replace、match、split及RegExp方法exec和test的具体用法,并通过实例展示了如何利用这些方法进行模式匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、用于模式匹配的String方法

1、search

  search方法以正则表达式为参数,返回第一个与之匹配的子字符串的开始位置,如果没有任何子字符串与之匹配,则返回-1.使用实例:

var str = 'I love JavaScript and Ajax';
alert.(str.search(/l.*e/));//匹配‘love’,返回2
alert.(str.search(/\s/));//匹配‘I’和‘love’之间的空格,返回1

2、replace

方法replace执行替换操作,实例如下:

var a = 'I love ajax';
var b = a.replace('','_');//b='I_love_ajax'

3、match

  方法match是最常用的String方法,接受一个正则表达式作为参数(如果不是正则表达式,则会被转换成正则表达式),返回的是一个包含匹配结果的数组。实例如下:

var str = 'a=1&b=2&c=3&d=4&e=5';
var b = str.match(/[a-z]=[0-9]/g);//b = ['a=1','b=2','c=3','d=4','e=5']

4、split

  使用split方法可以将字符串根据指定的子字符串分割成若干元素,并将这些元素按照顺序在字符串中的先后排列返回一个包含这些元素的数组。split方法可以理解为Array对象的join方法的逆运算,使用实例如下:

var a = '00-12-13-DF-3A';
var b = a.split('-');//b=['00','12','13','DF','3A']
var str = 'a=1&b=2+c=3|d=4@e=5%f=6';
var str1 = str.split(/&|\+|\||@|%/);//a=['a=1','b=2','c=3','d=4','e=5','f=6']

二、用于模式匹配的RegExp方法

1、exec

  exec方法与String对象的match方法很相似,只是它接受的参数是一个字符串,它会在此字符串中进行匹配查找,并返回一个数组。与match方法不同的是,无论正则表达式是否开启了全局匹配模式,exec每次只匹配一个结果,返回的数组第一个元素是匹配的子字符串,从第二个元素开始是正则表达式中各个分组所匹配的内容。

var str = 'a=1&b=2+c=3|d=4@e=5';
var reg = /([a-z])=([0-9])/g;
var result;
while((result = reg.exec(str))!=null)
{
    document.write(result.join(',')+'<br/>');
}

程序运行结果如下:

    

2、test

  test方法比较简单,接受一个字符串作为参数,然后进行匹配检测。如果字符串能够被匹配,则返回true,否则返回false。

var reg = /^(\+|\-)?(0\.|[0-9][0-9]*\.?)([0-9]*[0-9])$/;
reg.test('abc');//返回false
reg.test('+123');//返回true
reg.test('3.14');//返回true
reg.test('-0.23');//返回true


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值