正则表达式RegExp对象
3.1 正则表达式对象的创建方式
字面量的方式 var patt = /匹配规则/修饰符; / --> 边界的意思
new关键字 var patt = new RegExp(/匹配规则/,修饰符);
3.2 正则表达式对象中的方法
test() 检测指定字符串中是否含有某种匹配规则
exec() 检索字符串中指定的值。返回找到的值,并确定其位置

// 字面量的方式 var patt = /匹配规则/修饰符; / --> 边界的意思
//创建一个正则表达式,可以用来查看指定字符串中是否含有数字
// 字面量的方式 var patt = /匹配规则/修饰符; / --> 边界的意思
//创建一个正则表达式,可以用来查看指定字符串中是否含有数字
var patt = /[0-9]/; var str = "hello1234";
var str2 = "hello"; //test() 检测指定字符串中是否含有某种匹配规则 返回一个布尔值
var flag = patt.test(str);
console.log("flag:",flag);//flag: true flag = patt.test(str2);
console.log("flag:",flag);//flag: false // new关键字 var patt = new RegExp(/匹配规则/,修饰符);
var reg = new RegExp(/\d/);
console.log(reg.test(str));//true
console.log(reg.test(str2));//false
<script>
var str = "I Love China!!We are Chinese!!" //exec() 检索字符串中指定的值。返回找到的值,并确定其位置
var patt = /[Ch]/;
console.log(patt.exec(str));//["C", index: 7, input: "I Love China!!We are Chinese!!", groups: undefined] var patt2 = /Ch/;
console.log(patt2.exec(str));//["Ch", index: 7, input: "I Love China!!We are Chinese!!", groups: undefined] //字符串中可以使用正则表达式的方法
// match() 查找找到一个或多个正则表达式的匹配
console.log(str.match("Ch"));//["Ch", index: 7, input: "I Love China!!We are Chinese!!", groups: undefined]
console.log(str.match(patt2));//"Ch", index: 7, input: "I Love China!!We are Chinese!!", groups: undefined]
console.log(str.match(patt));//["C", index: 7, input: "I Love China!!We are Chinese!!", groups: undefined] var patt3 = /Ch/g; //exec方法中修饰符g无效
console.log(patt3.exec(str));//["Ch", index: 7, input: "I Love China!!We are Chinese!!", groups: undefined]
console.log(str.match(patt3));//(2) ["Ch", "Ch"] // replace() 在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串
var str = "Hello boys and girls!";
console.log(str.replace(" ",","));//Hello,boys and girls!
console.log(str.replace(/\s/,","));//Hello,boys and girls!
console.log(str.replace(/\s/g,","));//Hello,boys,and,girls! // search() 查找与正则表达式相匹配的值 返回第一次出现的索引
console.log(str.indexOf("o"));//
console.log(str.indexOf("o",5));//
console.log(str.search("o"));//4 只有一个参数
console.log(str.search(/o/));// // split() 把字符串分割为字符串数组
console.log(str.split(" "));//["Hello", "boys", "and", "girls!"]
console.log(str.split(/\s/));//["Hello", "boys", "and", "girls!"]
</script>
3.4 修饰符
g global,执行全局匹配
i 忽略大小写
m 执行多行匹配
var str = "Hello 中国!!Hello 北京!!";
// 匹配中文:[\u4e00-\u9fa5]
// 是一个固定用法,中文只能在正则表达式里这样表示
var patt = /[\u4e00-\u9fa5]/g;
// g global,执行全局匹配
console.log(str.match(patt)); // i 忽略大小写
var patt2 = /[A-Z]/g;
console.log(str.match(patt2)); var patt3 = /[A-Z]/gi;
console.log(str.match(patt3)); // m 执行多行匹配
var str2 = "感谢大家光临,本人于\n10月1日上午在家观看国兵直播";
var patt4 = /^1/g; //^ 以指定规则开头
console.log(patt4.test(str2));//false var patt5 = /^1/gm;
console.log(patt5.test(str2));//true
3.5 匹配模式
[0-9]:查找任何从0至9的数字
[abc]:用于查找方括号之间的任何字符;方括号内的字符可以是任何字符或字符范围
[^abc]:查找任何不在方括号之间的字符 ^否定的意思
[a-z]:查找所有的小写字母
[A-Z]:查找所有的大写字母
[A-z]:查找所有的字母(大小写字母)
[0-9A-z]:包含所有的数字和字母(大小写字母)
例:var str="Is this all there is?";
var patt1=/[a-h]/g;
document.write(str.match(patt1));
结果: h,a,h,e,e
// [A-z]:查找所有的字母(大小写字母)
// [0-9A-z]:包含所有的数字和字母(大小写字母) var str = "Hello@!~-+=123$%^&*()rrr[]{},.4`56_<>\/\\"; var patt = /[A-z]/g; console.log(str.match(patt));// ["H", "e", "l", "l", "o", "^", "r", "r", "r", "[", "]", "_", "\"] var patt2 = /[A-Za-z]/g; console.log(str.match(patt2));//(8) ["H", "e", "l", "l", "o", "r", "r", "r"] var str = "hello world";
console.log(str.match(/[hor]/g));//(4) ["h", "o", "o", "r"]
console.log(str.match(/[^hor]/g));//(7) ["e", "l", "l", " ", "w", "l", "d"]
3.6 元字符
元字符(Metacharacter):拥有特殊含义的字符
.(点):代表任何的字符(除了换行和行结束符)
\w:任何字母、数字、下划线
\W:任何非字母、数字、下划线
\d:任何数字
\D:任何非数字
\s:空白字符
\S:非空白字符
\b:查找单词边界
\B:查找非单词边界
作为了解
\o:查找NULL字符
\n:查找换行符
\f: 查找分页符
\r:查找回车符
\t:查找制表符
\v:查找垂直制表符
3.7 量词
^n:匹配开头为n的字符串
n$:匹配结尾为n的字符串
n+:匹配任何包含至少一个n的字符串
n{x}: 匹配任何包含x个n的字符串
n{x,}: 匹配至少包含x个n的字符串
n{x, y}:匹配包含x到y个n的字符串
n*:匹配任何包含0个或者多个n的字符串
n?:匹配任何包含0个或1个n的字符串
?=n:匹配任何其后紧接指定字符串n的字符串
?!n:匹配任何其后没有紧接字符串n的字符串
正则表达式RegExp对象的更多相关文章
- JavaScript学习笔记-正则表达式(RegExp对象)
正则表达式(RegExp对象) 1.正则表达式字面量,在脚本加载后编译.若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译: 2.使用构造函数创建的RegExp,提供了 ...
- JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 查找以八进制数 规定的字符. 查找以十六进制数 规定 ...
- VBScript: 正则表达式(RegExp对象)
RegExp对象是VBScript中用于提供简单地正则表达式支持的对象.VBScript中所有和正则表达式有关的属性和方法都有这个对象有关联. 一.RegExp对象的属性和方法(三个属性,三个方法) ...
- javascript正则表达式 —— RegExp 对象
定义 RegExp RegExp 对象用于存储检索模式. 通过 new 关键词来定义 RegExp 对象.以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e": ...
- JavaScript正则表达式-RegExp对象
RegExp对象方法 exec():与String对象的match()方法功能相同. 参数为被搜索字符串.返回数组或null. test():与String对象的search()方法功能相同. 参数为 ...
- javascript类型系统——正则表达式RegExp类型
× 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String ...
- 正则表达式(RegExp)
正则表达式(RegExp) 如何按一定规则快速查找到需要找寻的内容,js的设计者们给我们提供了一个叫正则表达式(RegExp对象),专门用于处理类似问题. RegExp对象表示正则表达式,它是对字符串 ...
- VBS基础篇 - RegExp 对象
正则表达式(RegExp)对象下面的代码说明了RegExp对象的用法: Function RegExpTest(patrn, strng) Dim regEx, Match, Matches '创建变 ...
- JavaScript数据类型 正则表达式RegExp类型
前言 上一篇文章已经介绍了正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将 ...
随机推荐
- Java并行
序言 Java 有四种并行方式: 1.thread 使用“原汁原味”的裸线程 2.Executor (java 5 以后出现的) 3.Forkjoin 框架 (java 8 出现的) 4.Actor ...
- 【PowerOJ1737&网络流24题】太空飞行计划问题(最小割)
题意: 思路: #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned in ...
- APIO2019解题报告
「APIO 2019」奇怪装置 题目描述 有无限个二元组,每个二元组为\(((t+\left\lfloor\frac{t}{B} \right\rfloor)\%A,t \% B)\),给出一些区间, ...
- 大数据笔记(七)——Mapreduce程序的开发
一.分析Mapreduce程序开发的流程 1.图示过程 输入:HDFS文件 /input/data.txt Mapper阶段: K1:数据偏移量(以单词记)V1:行数据 K2:单词 V2:记一次数 ...
- weui 框架
weui是一个框架,但是官方并没有提供文档: 所以我们需要在github上来通过案例来了解他的用法 一般做列表,左边的图片要么60x60,要么80x80用的比较多 weui是一个小巧的框架,所以带来的 ...
- Python 列表反转显示方法
第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 listNode = [1,2,3,4,5] newList = list(reve ...
- iOS即时通讯之CocoaAsyncSocket源码解析二
原文 前言 本文承接上文:iOS即时通讯之CocoaAsyncSocket源码解析一 上文我们提到了GCDAsyncSocket的初始化,以及最终connect之前的准备工作,包括一些错误检查:本机地 ...
- 三十四、python中shutil模块的介绍
'''A.shutil:高级的文件 文件夹 压缩包 处理模块''' import shutil '''1.copyfileobj(a1,a2,lenth):将文件内容拷贝到另一个文件中''' shut ...
- 快速入门分布式消息队列之 RabbitMQ(1)
目录 目录 前言 简介 安装 RabbitMQ 基本对象概念 Message 消息 Producer 生产者 Consumer 消费者 Queue 队列 Exchange 交换机 Binding 绑定 ...
- vCenter 部件关系简介 & 网络原理
目录 目录 主机和集群 vCenter Datacenter Cluster Host Virtual Machine Folder Resource Pool Template 数据存储 Datas ...