正则表达式的元字符是包含特殊含义的字符,他们有一些特殊的功能,可以控制匹配模式的方式,反斜杠后的元字符将失去其特殊含义

          单个字符

元字符              匹配情况

.                匹配除换行符外的任意字符

[a-z0-9]             匹配括号中的字符集中的任意字符

[^a-z0-9]              匹配任意不在括号中的字符集中的字符

\d                匹配数字

\D                匹配非数字同[^0-9]相同

\w                匹配字母和数字及_

\W                匹配非字母和数字及_

                重复字符

x?            匹配0个或者1个x

x*            匹配0个或者任意多个x

x+                 匹配至少1个x

(xyz)+             匹配至少一个xyx

x{m,n}          匹配最少m个,最多n个x

                替代字符

this|where|logo          匹配this或where或logo中任意一个

空白字符

\0              匹配null字符

\f              匹配进制字符

\n              匹配换行字符

\r              匹配回车字符

\t              匹配制表字符

\s              匹配空白字符,空格 制表和换行

\S              匹配非空白字符

              锚字符

^              匹配行首

$              行尾匹配

\A              只有匹配字符串开始处

\b              匹配单词边界,词在[]内时无效

\B              匹配非边界单词

\G              匹配当前搜索的开始位置

\Z              匹配字符串结束处或行尾

\z               只匹配字符串结尾处

            记录字符

(string)             用于反向引用的分组(括号内的看成一个字符)

\1或$1              匹配第一个分组中的内容

\2或$2              匹配第二个分组中的内容

\3或$3              匹配第三个分组中的内容

var box=/(.*)/;
var str="duwei19890220@163.com";
str.match(box);
alert(RegExp.$); //表示获取模式中第一个分组对应匹配的字符串 我们这里获取的是98
var box=/(.*)/;
var str="duwei19890220@163.com";
document.write(str.replace(box,"<strong>$1</strong>")); //这里的$1是获取第一个分组中的内容98 把他加粗
var box=/(.*)\s(.*)/;
var str="duwei liuhaibo";
document.write(str.replace(box,"$2 $1")); //位置交换

exec返回数组的操作

var box=/^([a-z]+)\s([-]{,})$/;                //使用分组
var str="duwei 2018";
//alert(box.exec(str)); //显示 duwei 2018 duwei,2018 为什么 exec方法返回的是数组
var a=box.exec(str);
alert(a.length); //数组长度为3
alert(a[]); //数组的第一个元素存储的是整个的字符串
alert(a[]); //第二个下标存储的是第一个分组匹配的字符串
alert(a[]);
var box=/(a?(b?(c?)))/;            //嵌套分组   从外往内分组
var str="abc";
var a=box.exec(str);
alert(a[]); //整个匹配到的字符串abc
alert(a[]); //匹配第一个分组匹配字符串 abc最外面的大括号
alert(a[]); //匹配第二个分组匹配字符串 bc 中间的括号
alert(a[]); //匹配第三个分组匹配字符串 c最里面的括号

javascript正则表达式获取控制的更多相关文章

  1. javascript正则表达式简介

      javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String ...

  2. 第一百零五节,JavaScript正则表达式

    JavaScript正则表达式 学习要点: 1.什么是正则表达式 2.创建正则表达式 3.获取控制 4.常用的正则 假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一 ...

  3. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  4. Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

    本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  5. JavaScript正则表达式下——相关方法

    上篇博客JavaScript 正则表达式上——基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实 ...

  6. 5分钟教你学会JavaScript正则表达式

    正则表达式在实际开发过程中和技术面试过程中的重要性不言而喻,本文仅仅只是教你如何在几分钟之类学会正则表达式,对于它的原理及运行机制不做介绍. 第一:什么是正则 正则表达式是一种用来描述一定数量文本的模 ...

  7. 正则表达式获取body内容

    最近项目需要,要弄个正则表达式获取body的内容. 用过angularjs就知道,很多时候要写指令时引用templateUrl的时候.template的内容root是不能包含多个节点的,否则就报错. ...

  8. javascript 正则表达式补充

    定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  9. JavaScript 正则表达式基础语法

    前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...

随机推荐

  1. leetcode 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...

  2. C# 基础篇

    全篇依据 C#高级编程(第9版) 内容记录: 基础知识C# 5.0 基础 分为15章内容来介绍 核心C# 对象和类型 继承 泛型 数组 运算符和类型强制转换 委托和lambda表达式,事件 字符串和正 ...

  3. 委托发展史(Linq操作符)

    嗯~这篇就讲讲Linq吧! 之前讲过Lambda最后进化到了令人发指的地步: Func<string, int> returnLength; returnLength = text =&g ...

  4. NetCore入门篇:(九)Net Core项目使用Session及用Redis做分布式

    一.简介 1.因为Net Core默认是没有启动Session功能的,如果需要使用,需要通过代码开启. 2.本篇说明如果启用默认Session实现,即Session存到内存中. 3.本篇扩展说明如何用 ...

  5. Python面向对象(成员修饰符)

    day25 成员修饰符 class Foo: def __init__(self, name, age): self.name = name self.__age = age#私有,外部无法直接访问 ...

  6. poj1017----模拟

    题目大意: 现有1*1,2*2,3*3,4*4,5*5,6*6规格的产品若干个(高度都为h),问最少需要多少个 6*6*h的箱子把这些产品都装完 输入:每组测试数据共6个整数,分别代表1*1,...6 ...

  7. iOS-消除CocoaPods内容警告

    前言 2018年2月26日 农历正月十一 星期一 今天就想更新下博客,内容不多,心情复杂: 突然想吟诗一首: 其实,我是一个善良的人: 其实,我是一枚... 算了,还是说正事吧 消除CocoaPods ...

  8. php-fpm定时器

    php-fpm有三种定时器 1)主进程接收到用户的信号,例如sigusr,主进程执行kill(子进程号,sigquit),的同时,设置定时器,在一个无限循环里如果当前时间 大于或等于 该定时器的过期时 ...

  9. node 利用http和cheerio编写简易爬虫

    首先cnpm init创建一个package.json 引入cheerio模块 cnpm install --save cheerio 然后开始编写代码 let cheerio = require(' ...

  10. WSGI学习系列WebOb

    1. WSGI Server <-----> WSGI Middleware<-----> WSGI Application  1.1 WSGI Server wsgi ser ...