ES5基础之正则表达式02:范围类、预定义类和边界字符
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:范围类、预定义类和边界字符的更多相关文章
- JS正则表达式从入门到入土(4)—— 预定义类与边界
预定义类 正则表达式提供预定义类来匹配常见的字符类 字符 等价类 含义 . [^\r\n] 除了回车符和换行符以外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [\t\ ...
- PHP数组——数组正则表达式、数组、预定义数组
正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...
- PHP数组(数组正则表达式、数组、预定义数组)
正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...
- ES5基础之正则表达式01:初次见面
1.正则初次见面 测试地址:https://regexper.com 第一个正则:匹配 2006-10-11 或 2006/10/11 var reg = /^\d{4}[-/]\d{2}[-/]\d ...
- shell编程基础(五): 正则表达式及其使用
正则表达式 1.前情提要 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxx ...
- 【Java基础】正则表达式
目录 正则表达式 什么正则表达式 普通字符 预定义字符 特殊字符 数量限定字符 定位字符 选择符和分组 反向引用 预搜索 运算符的优先级 常用正则 附录 正则表达式 本文的大部分内容转载自正则表达式从 ...
- Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )
正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...
- 【代码笔记】Java常识性基础补充(三)——Java的API及Object类、正则表达式、getTime()方法、DateFormat类、Calendar类
1.0 Java 的API(API: Application(应用) Programming(程序) Interface(接口)) 2.0 Java API就是JDK中提供给我们使用的类,这些类将底层 ...
- 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)
1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则) * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...
随机推荐
- 怎么才能算大项目(Application),大的衡量?
最近在思考一个问题,就是怎么才算一个大型项目,大的衡量有哪些东西?为什么要搞清这个问题呢,是因为在实际的开发过程中,如果知道这是个多大的项目,那就有各种相应的解决方案(我们称之为套路的东西)就可以使用 ...
- Android Studio关于SVN的相关配置及从SVN检出项目
一.安装配置: 如图,安装时必须自定义选择 command line 否则不会安装的 安装完成后,打开 IDE 的 setting 配置面板: 如上图路径 Version Control 下的 Sub ...
- Fragment与ViewPager
众所周知,为了实现滑动界面,经常让Fragment与ViewPager一起结合使用,每一个ViewPager的页面就是一个Fragment,我们可以在fragment中实现丰富的功能.它的基本用法可以 ...
- iOS开发工程师面试题(二)
1.手写冒泡跟插入排序 冒泡排序来源于生活常识,相当于把数组竖起来,轻的向上,重的向下.void bubbleSort(int[] unsorted) { ; i < unsorted.Leng ...
- ASP.NET MVC3 Razor 调试与预加载
目录(?)[-] 获取服务器信息 FormsAuthenticationSlidingExpiration 属性 MVC3预加载 在ASP.NET MVC3开发中,调试中怎么也是不可缺少的,那对于 ...
- 偏移:translate ,旋转:rotate,缩放 scale,不知道什么东东:lineCap 实例
<!DOCTYPE HTML> <head> <meta charset = "utf-8"> <title>canvas</ ...
- LoadRunner 11 安装步骤
loadrunner 安装步骤: LoadRunner11下载: 在网上可以搜索到,在这个就不提供了. LoadRunner11原理: 破解方法和以前版本相同,我用的是LR8.0的破解文件,同样实用 ...
- imcs初探
imcs简介 https://github.com/knizhnik/imcs 翻译过来是在内存上的列存储,在对于一张'静态'的表计算方面很有优势,在许多聚合运算中都有使用线程并行计算,而且其中使用了 ...
- 从零自学Hadoop(13):Hadoop命令下
阅读目录 序 MapReduce Commands User Commands Administration Commands YARN Commands User Commands Administ ...
- 在MySQL中,如何计算一组数据的中位数?
要得到一组数据的中位数(例如某个地区或某家公司的收入中位数),我们首先要将这一任务细分为3个小任务: 将数据排序,并给每一行数据给出其在所有数据中的排名. 找出中位数的排名数字. 找出中间排名对应的值 ...