10-23正则表达式规则

来源:互联网 发布:ubuntu网络配置命令 编辑:程序博客网 时间:2024/05/22 06:10
/*
 * 使用正则表达式的方式
 * 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);

原创粉丝点击