您的位置:首页 > 其它

10-23正则表达式规则

2017-10-23 20:27 295 查看
/*
 * 使用正则表达式的方式
 * 1. var regExp = new RegExp('\d');
 * 2. var regExp = /\d/;
 */

一、基本类型:

//  \d表示0-9的数字类型
// \D表示除了0-9以外的非空类型

var str3='hello world';
var str4='hello world123';
console.log(/\d/.test(str3));//结果为false,不包含0-9数字类型
console.log(/\d/.test(str4));//结果为true,包含0-9的数字类型

// \w 表示包含a~z A~Z 0~9_的单词字符
// \W 表示包含除了a~z A~Z 0~9_的其他字符
console.log(/\w/.test('Ads9'));//true
console.log(/\w/.test('++++  '));//false
console.log(/\W/.test('Ads9'));//false
console.log(/\W/.test('++++  a'));//true

// \s 表示包含空白字符
// \S 表示包含除了空白字符的其他字符
console.log(/\s/.test('Ads9'));//false
console.log(/\s/.test('++++ '));//true
console.log(/\S/.test('Ads9'));//true
console.log(/\S/.test('++++  a'));//true

// [\n\r] 只接收换行符

// [^\n\r]
除换行符的其它字符

二、匹配类型:

//  /andy/完全匹配表达式,只要字符串中有andy就返回true

console.log(/andy/.test('andy liu'));//true

console.log(/andy/.test('and'));//false

console.log(/andy/.test('ant'));//false  

// /[andy]/部分匹配表达式,只要字符串有andy中的部分或者全部,都返回true

console.log(/[andy]/.test('andy'));//true

console.log(/[andy]/.test('angs'));//true

console.log(/[andy]/.test('y'));//true

console.log(/[andy]/.test('ef'));//false 

// /[^andy]/ 取反匹配表达式     ^符号只在[]里才表示非
console.log(/[^andy]/.test('ef'));//true
console.log(/[^andy]/.test('ab'));//true
console.log(/[^andy]/.test('ady'));//false

// 以什么开始
// /^13/限定内容必须是以13开始,如果不是结果就是false
console.log(/^13/.test('13'));
// true
console.log(/13/.test('1213'));
// true
console.log(/^13/.test('1213'));// false

console.log(/^\d/.test('a'));
// 以数字开始的结果为true
console.log(/^\d/.test('1a'));
// 以数字开始的结果为true

// 以什么结束
// /13$/限定字符串的结束必须是13
console.log(/13$/.test('abc13'));
// true
console.log(/13$/.test('13abc13'));
// true
console.log(/13$/.test('13abc'));
// false

//精确匹配方式

//  /^13$/一定要是13

三、出现次数:

// {m} 出现的次数只能是m

// {m,n} 出现的次数一定要>=m并且<=n

// {m,} 出现的次数>=m

// | 或,只要满足1个条件就可以

四、方法:

var s = 'aaa hello 11 world 888 abc';
// search 获取数据出现的位置,只能获取第一次
console.log(s.search(/\d{3}/));
// 从字符串中查找长度是3位的数字
console.log(s.search(/\d{2,3}/));
console.log(s.search(/HELLO/i)); // i忽略大小进行搜索

// match 获取符合条件的数据

console.log(s.match(/\d{2,3}/)); // 只找到第一次出现的数字

console.log(s.match(/\d{2,3}/g));// g获取所有匹配的数字

// replace 修改内容

// replace(正则表达式, 替换的内容)

s = 'abc dfafda fuck fdafa fuck .... FUCK aaaaa';

var str = s.replace(/uc/ig, '**');// replace不会修改字符串本身,它会返回一个新的字符串

console.log(str);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  #正则表达式