1.范围类

    //元字符

    /*
* 正则表达式由两种基本字符类型组成
* 1.原义文本字符:例如123abc
* 2.元字符:元字符是在正则表达式中有特殊含义的非字母字符
*/ //常见特殊符号:. * ? $ ^ | \ ( ) { } [ ] /* 1.字符类
* 我们可以使用元字符[]来构建一个简单的类
* 所谓类是指符合某些特性的对象,一个泛指,而不是特值某些字符
* 表达式[abc]把字母a字母b字符c归为一类,表达式可以匹配这类的字符,而不是匹配abc
*/
var string = 'a1b2c3';
string = string.replace(/[abc]/g, 'X');
console.log(string); // 在 [] 前面加 ^ 表示取反,比如:var reg = /[^abc]/g 表示匹配非abc;
var string = 'a1b2c3';
string = string.replace(/[^abc]/g, 'X');
console.log(string); /* 2.范围类
* 比如:使用字符类匹配数字则为[0123456789] 这样比较麻烦
* 正则表达式为我们提供了范围类
* 我们可以使用 [a-z] 来连接两个字符表示从a-z的任意字符
* [0-9]表示任意数字
* 在 [] 组成的类内部是可以连写的 [a-zA-Z0-9];
*/
var string = 'a1b2c3ccee654ADAD';
string = string.replace(/[a-zA-Z0-9]/g, 'X');
console.log(string);//全部都为X //注意:- 在 []内部表示范围的意思,如果要匹配 - ,可以直接加载后面
var string = 'a1b-2c3c-cee654A-DAD';
string = string.replace(/[a-zA-Z0-9-]/g, 'X');
console.log(string);//全部都为X

2.预定义类

    /* 3.预定义类
* 正则表达式提供预定义类来匹配常见的字符类
* 字符-等价类-含义
* . <=> [^\r\n] 除了回车换行之外的所有字符
* \d <=> [0-9] 数字字符 digital
* \D <=> [^0-9] 非数字字符 digital
* \s <=> [\t\n\x0B\f\r] 空白字符 space
* \S <=> [^\t\n\x0B\f\r] 非空白字符 space
* \w <=> [a-zA-Z0-9_] 字母数字下划线 word
* \W <=> 非字母数字下划线 word
*/ //实例1:匹配一个 ab + 数字 + 任意字符 的字符串
// ab\d.

3.边界字符

    /* 4.边界字符
* 正则表达式提供了几个常用边界匹配字符
* 字符-含义
* ^ - 以 xxx 开始
* $ - 以 xxx 结束
* \b - 单词边界
* \B - 非单词边界
*/ //关于单词边界的使用:需要单词边界--双边
var string = 'this is a boy, this is a girl';
string = string.replace(/\bis\b/g, 'my')
console.log(string); //关于单词边界的使用:不需要单词边界--单边
var string = 'this is a boy, this is a girl';
string = string.replace(/\Bis/g, 'my')
console.log(string); //关于单词边界的使用:不需要单词边界--双边
var string = 'this is a boy, this is a girl';
string = string.replace(/\Bis/g, 'my')
console.log(string); //关于单词边界的使用:^
var string = '@123@abc@';
string = string.replace(/@./g, 'Q');
console.log(string); var string = '@123@abc@';
string = string.replace(/^@./g, 'Q');
console.log(string); //关于单词边界的使用:$
var string = '@123@abc@';
string = string.replace(/.@/g, 'Q');
console.log(string); //关于单词边界的使用:$
var string = '@123@abc@';
string = string.replace(/.@$/g, 'Q');
console.log(string);

ES5基础之正则表达式02:范围类、预定义类和边界字符的更多相关文章

  1. JS正则表达式从入门到入土(4)—— 预定义类与边界

    预定义类 正则表达式提供预定义类来匹配常见的字符类 字符 等价类 含义 . [^\r\n] 除了回车符和换行符以外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [\t\ ...

  2. PHP数组——数组正则表达式、数组、预定义数组

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

  3. PHP数组(数组正则表达式、数组、预定义数组)

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

  4. ES5基础之正则表达式01:初次见面

    1.正则初次见面 测试地址:https://regexper.com 第一个正则:匹配 2006-10-11 或 2006/10/11 var reg = /^\d{4}[-/]\d{2}[-/]\d ...

  5. shell编程基础(五): 正则表达式及其使用

    正则表达式 1.前情提要 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxx ...

  6. 【Java基础】正则表达式

    目录 正则表达式 什么正则表达式 普通字符 预定义字符 特殊字符 数量限定字符 定位字符 选择符和分组 反向引用 预搜索 运算符的优先级 常用正则 附录 正则表达式 本文的大部分内容转载自正则表达式从 ...

  7. Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )

    正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...

  8. 【代码笔记】Java常识性基础补充(三)——Java的API及Object类、正则表达式、getTime()方法、DateFormat类、Calendar类

    1.0 Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 2.0 Java API就是JDK中提供给我们使用的类,这些类将底层 ...

  9. 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)

    1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则)     * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...

随机推荐

  1. AbpKernelModule

    PreInitialize IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar()); 增加BasicConventi ...

  2. [ASP.NET MVC] ASP.NET Identity登入技术剖析

    [ASP.NET MVC] ASP.NET Identity登入技术剖析 前言 ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证.授权等等机制.本篇文章介绍ASP. ...

  3. javascript 模式(1)——代码复用

    程序的开发离不开代码的复用,通过代码复用可以减少开发和维护成本,在谈及代码复用的时候,会首先想到继承性,但继承并不是解决代码复用的唯一方式,还有其他的复用模式比如对象组合.本节将会讲解多种继承模式以实 ...

  4. 移动端UC /QQ 浏览器的部分私有Meta 属性

    <meta name="format-detection" content ="telephone=no"/>   格式检测 禁止识别我们页面中的数 ...

  5. git下载指定版本的代码

    1. git fetch https://github.com/angular/angular.js.git v1.5.8 或 2. git pull https://github.com/angul ...

  6. android:使用Messenger进行进程间通信(二)

    //继续完善音乐播放器demo 相关文章: android:使用Messenger进行进程间通信(一):http://www.cnblogs.com/happyhacking/p/5318418.ht ...

  7. 教你开发asp.net的单点登录系统

    单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在 ...

  8. XtraBackup出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    Xtrabackup做备份时遇到下面错误信息MySQL server: Can't connect to local MySQL server through socket '/tmp/mysql.s ...

  9. WebLogic: console 启动慢解决办法

    找到WebLogic使用的JDK目录. 修改java_home/jre/lib/security/java.security文件: 将seucrerandom.source=file:/dev/ura ...

  10. MyEclipse编码设置及字体设置等

    原文: http://wenku.baidu.com/link?url=GTo5q8E1iVRYIYa-AiDP6_PJ4sQk7j1SPTr-CthVBw9hTGLPgR4TOeq9o8Sg0yEJ ...