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. 谷歌浏览器下载地址 chrome最新版本 百度云地址

    每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...

  2. 基于WebGL的三维地形渲染

    1.生成WebMap页面 #!/usr/bin/env python # -*- coding: utf-8 -*- import subprocess from jinja2 import Envi ...

  3. JavaScript - 如果...没有方法

    这篇文章源于我上一周所读的一篇12年的文章.原作者提出了一个问题,如果js没有原生方法Math.round(),我们如何去实现呢? 对此我和我的基友进行了小小探讨,并给出了一些有意思的答案. 本文内容 ...

  4. React Native知识6-NavigatorIOS组件

    NavigatorIOS包装了UIKit的导航功能,可以使用左划功能来返回到上一界面.本组件并非由Facebook官方开发组维护.这一组件的开发完全由社区主导.如果纯js的方案能够满足你的需求的话,那 ...

  5. RecyclerView-------MainActivity代码

    package com.example.administrator.recyclerview; import android.support.v7.app.AppCompatActivity; imp ...

  6. HSDB - HotSpot debugger

    HSDB 是专门用于调试 HotSpot VM 的调试器,它是一个图形化界面.与之对应的还有个 CLHSDB-Command Line HotSpot Debugger,命令行调试界面.下面是启动命令 ...

  7. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

  8. ansible使用文档

    假设A机器上安装ansible yum install ansible vim /etc/ansible/hosts 对每个主机加key认证ssh-copy-id -i ~/.ssh/id_rsa.p ...

  9. SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题

    用户定义函数(UDF)分类  SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(T ...

  10. leveldb源码分析--SSTable之Compaction

    对于compaction是leveldb中体量最大的一部分,也应该是最为复杂的部分,为了便于理解我们首先从一些基本的概念开始.下面是一些从doc/impl.html中翻译和整理的内容: Level 0 ...