正则表达式练习&&相关知识

正则表达式 是描述字符模式的对象

//创建正则表达式对象
//1.构造函数
var pattern = new RegExp('hello','ig');
console.log(pattern);
//2.字面量
var pattern = /hello/ig;
console.log(pattern);

//正则表达式对象的属性
//判断是否全局查找
console.log(pattern.global); //true
//判断是否忽略大小写
console.log(pattern.ignoreCase); //true
//判断是否多行查找
console.log(pattern.multiline); //false
//正则表达式文本
console.log(pattern.source); //hello
//下一次检索的位置 有g修饰,会维护lastIndex,没有g修饰,lastIndex永远都是0
console.log(pattern.lastIndex);

//进行字符串的匹配
var str = 'HELLOworld helloworld hello';
//找hello字符串,如果有返回true,如果没有返回false
var pattern = /hello/ig;
//进行模式匹配
console.log(pattern.lastIndex); //0
var result = pattern.test(str);
console.log(result);  //true
console.log(pattern.lastIndex); //5
//exec  如果找到返回的包含该字符串的数组,如果没有找到,返回null
var result = pattern.exec(str);
console.log(result);  //['hello']
console.log(result.length); //1
console.log(result.index); //11查找到的字符串开始的位置
console.log(result.input); //str字符串
var str = 'helloocjcsbcscsgokoadqudddyy';

// var pattern = /helloo/ig;
var pattern = /(hello)/i;//分组
// console.log(pattern.test(str));
// console.log(pattern.lastIndex);
// console.log(pattern.exec(str));
//将匹配到的所有字符串拿出来,放到一个数组中['','','']exec['']
// var arr = [];
// while(result = pattern.exec(str)){
// 	// console.log(result);
// 	arr = arr.concat(result);
// }	//arr.push(result[0])
// console.log(arr);

//Sting提供的正则表达式方法返回所有符合条件的元素组成的数组
//找到返回数组 没找到返回-1
var result = str.match(pattern);
//匹配到返回索引 没有返回-1
console.log(str.search(pattern));

var str = 'hello hello hello hello ggcguys';
result = str.replace(/hello/ig,'java');
console.log(str);
console.log(result);

var str = '12&34&56';
console.log(str.split('&'));
console.log(str.split(/&/));
console.log(str.split(''));

var str = 'hello world scbcscbhs';
//贪婪模式和非贪婪模式 默认贪婪模式
var pattern = /\w{3,8}/i;//贪婪模式
var pattern = /\w{3,8}?/i;//非贪婪模式
console.log(pattern.exec(str));//hello
// \d? 0-->1次  
// \d+? \d{2,5}?
//验证电话号码 
var str = '15242514252' ;
var pattern = /^\d{11}$/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值