正则表达式与字符串相关方法

正则表达式方法

exec()
调用者为正则表达式,参数为字符串,不能全局匹配
返回数组或者null

var str = 'hello world';
var reg = /ll/;
console.log(reg.exec(str)); //返回一个数组,第一项为匹配到的字符串
//如果匹配不到返回null
console.log(/AA/.exec(str)); //null

test()
调用者为正则表达式,参数为字符串
返回true或false
true代表字符串中有符合正则表达式的字符
flase代表字符串中没有符合正则表达式的字符

var str = 'hello world';
var reg = /ll/;
console.log(reg.test(str)); //true
console.log(/AA/.test(str)); //false

正则表达式字符串相关方法

split()
调用者为字符串,参数为正则表达式或字符串
返回一个数组,第一项为匹配到的字符串

var str = 'hello world';
console.log(str.match(/world/i));

match()
调用者为字符串,参数为正则表达式或字符串
返回字符串的位置,匹配不到返回-1

var str = 'hello World';
console.log(str.search('World'));  //-1
console.log(str.search(/World/i)); //6

replace()
调用者为字符串,第一个参数为正则表达式或字符串,第二个参数表示要替换的字符串
返回值为替换后的字符串
return返回值会替换掉匹配到的所有内容,而不仅仅是$1

var str = 'hello World';
// replace 替换字符串
console.log(str.replace('world', 'nihao')); // hello nihao 没有字符串,则返回原来的字符串
console.log(str.replace(/world/i, 'nihao'));// hello nihao

RegExp.$1是什么?

RegExp 是javascript中的一个内置对象。为正则表达式。
RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串,
以此类推,RegExp.$2,RegExp.$3,..RegExp.$99总共可以有99个匹配

例子:

var r= /^(\d{4})-(\d{1,2})-(\d{1,2})$/; //正则表达式 匹配出生日期(简单匹配)    
r.exec('1985-10-15');
s1=RegExp.$1;  //1985
s2=RegExp.$2;  // 10
s3=RegExp.$3;  // 15
alert(s1+" "+s2+" "+s3)//结果为1985 10 15
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容