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对象的更多相关文章

  1. JavaScript学习笔记-正则表达式(RegExp对象)

    正则表达式(RegExp对象)   1.正则表达式字面量,在脚本加载后编译.若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译: 2.使用构造函数创建的RegExp,提供了 ...

  2. JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义      查找以八进制数 规定的字符.     查找以十六进制数 规定 ...

  3. VBScript: 正则表达式(RegExp对象)

    RegExp对象是VBScript中用于提供简单地正则表达式支持的对象.VBScript中所有和正则表达式有关的属性和方法都有这个对象有关联. 一.RegExp对象的属性和方法(三个属性,三个方法) ...

  4. javascript正则表达式 —— RegExp 对象

    定义 RegExp RegExp 对象用于存储检索模式. 通过 new 关键词来定义 RegExp 对象.以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e": ...

  5. JavaScript正则表达式-RegExp对象

    RegExp对象方法 exec():与String对象的match()方法功能相同. 参数为被搜索字符串.返回数组或null. test():与String对象的search()方法功能相同. 参数为 ...

  6. javascript类型系统——正则表达式RegExp类型

    × 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String ...

  7. 正则表达式(RegExp)

    正则表达式(RegExp) 如何按一定规则快速查找到需要找寻的内容,js的设计者们给我们提供了一个叫正则表达式(RegExp对象),专门用于处理类似问题. RegExp对象表示正则表达式,它是对字符串 ...

  8. VBS基础篇 - RegExp 对象

    正则表达式(RegExp)对象下面的代码说明了RegExp对象的用法: Function RegExpTest(patrn, strng) Dim regEx, Match, Matches '创建变 ...

  9. JavaScript数据类型 正则表达式RegExp类型

    前言 上一篇文章已经介绍了正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将 ...

随机推荐

  1. web上传大文件(>4G)有什么解决方案?

    众所皆知,web上传大文件,一直是一个痛.上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的. 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路. 实现文件夹 ...

  2. 好用的jQuery分页插件

    插件源代码: (function ($) { $.fn.extend({ smartpaginator: function (options) { var settings = $.extend({ ...

  3. MapServer教程3

    Compiling on Unix Compiling on Win32 PHP MapScript Installation .NET MapScript Compilation IIS Setup ...

  4. Java 中如何使用clone()方法克隆对象?

    java为什么要 对象克隆: 在程序开发时,有时可能会遇到以下情况:已经存在一个对象A,现在需要一个与A对象完全相同的B 对象,并对B 对象的属性值进行修改,但是A 对象原有的属性值不能改变.这时,如 ...

  5. wowza 降低延迟

    转自:http://www.ttstream.com/wowza/live/howToAchieveTheLowestLatencyFromCaptureToPlayback   这篇文章介绍了在用R ...

  6. React-Native 之 GD (十四)小时风云榜 及 当前时间操作 及 上一小时、下一小时功能实现

    1.小时风云榜 GDHourList.js /** * 小时风云榜 */ import React, { Component } from 'react'; import { StyleSheet, ...

  7. LNMP 搭建 wordpress 站点 安装及配置过程

    0x00 环境 阿里云ECS云服务器 CPU:1核 内存:4G 操作系统:Centos 系统盘:100G 0x01 安装及配置 主要使用 nginx . php 和 mysql 注意:如果下面的设置不 ...

  8. VMware 虚拟化编程(12) — VixDiskLib Sample 程序使用

    目录 目录 前文列表 vixDiskLibSample 安装 Sample 程序 Sample 程序使用方法 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/V ...

  9. CSS3------box-shadow,即单边阴影效果设置

    box-shadow修改元素的阴影效果要方便得多,因为box-shadow可以修改六个参数,得到不同的效果.下面结合一些简单的案例来对box-shadow属性进行演示说明. 1.单边阴影效果 定义元素 ...

  10. Android安全测试(一)数字签名检测

    1.测试环境 SDK: Java JDK, Android SDK. 下图为利用中间人攻击的手段,将智能电视上所有影片的封面图替换的实际效果图 利用中间人攻击还可以进行token获取等,所以不要轻易使 ...