/* 测试环境:Chrome 63.0.3239.132 */

JS中正则对象修饰符可选值为:"i" "g" "m",即忽略大小写 进行全局匹配 多行模式

JS中正则表达式支持的元字符:
1:枚举方括号表达式,范围方括号表达式,枚举取反方括号表达式,范围取反方括号表达式
2:. \w \W \d \D \s \S \b \B \n \r \f \v \888 \uffff \xff
3:n? n+ n* n{a} n{a,} n{a,b}及这些量词的非贪心模式
4:^ $ (?!) (?=) (?:)

其他:
1:JS中引用分组请用\number,不支持''和<>这样的命名分组
2:不支持量词的占有模式
3:不支持逆向环视
4:方括号表达式中复合表达式支持如下:
[abc0-9] [abc\d] [\d\w^&]等等类似的
5:支持修饰符组合,比如gim mig gi ig等等,无顺序要求

JS正则对象属性:
global:该对象是否开启全局匹配,一个布尔值
ignoreCase:该对象是否开启忽略大小写,一个布尔值
multiline:该对象是否开启多行模式,一个布尔值
lastIndex:该对象下一次开始匹配的位置,即上一次匹配结束的位置,一个正整数
source:正则表达式的源文本,即/regexp/flag的regexp,不包含修饰符,一个字符串

创建正则表达式:
1:myreg = new RegExp(patternString[,globalFlags]);
2:myreg = /yourRegexp/globalFlags;

JS中正则表达式常用方法:
在RegExp对象中:
1:test(yourString);
定义:检测一个字符串是否匹配某个模式。
其他说明:该方法将忽略"g"标志和正则对象的lastIndex属性(即总是从开头找起),只要查找到符合模式的字符串即匹配成功。

2:exec(yourString);
定义:检索字符串中的正则表达式的匹配。
其他说明:若没开启"g"标志,只查找一次,不修改正则对象的lastIndex属性,返回一个对象,包含下标0、index、input,这时属性和match等价;开启"g",将修改正则对象的lastIndex属性为本次找到的子字符串的末尾位置,返回一个和没开启"g"一样的对象。(你可以自行修改正则对象的lastIndex属性来规定exec开始查找的位置。)

在String对象中:
1:search(yourRegexpOrString);
定义:检索字符串中与指定的子字符串或正则表达式相匹配的子字符串。
其他说明:该方法将忽略"g"标志和正则对象的lastIndex属性(即总是从开头找起),返回找到的第一个字符的位置,如果未找到返回-1。

2:match(yourRegexpOrString);
定义:在字符串内查找一个或多个与正则表达式匹配的字符串,返回一个对象。(忽略laseIndex属性)
其他说明:若没开启"g"标志,将只查找第一个匹配的字符串,返回一个对象,包含下标0、index、input,其中下标0等价于index,input是String的引用;开启"g",返回一个数组,数组的length是匹配的字符串个数,每个元素是每个匹配的起始字符位置。

3:replace(yourRegexpOrString,placementString);
定义:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
其他说明:如果没有"g"标志只会替换一次,并且如果参数是字符串而不是正则对象始终替换一次。返回一个字符串,为用placementString替换yourRegexpOrString后的结果。placementString中$有特殊用途,见下表:
$1、$2、...、$99 regexp中捕获的引用分组。
$& 本次匹配的文本。
$` 本次匹配到的子串左侧的文本。
$' 本次匹配到的子串右侧的文本。
$$ $本身。
该方法的第二个参数可以为一个函数,每次匹配都会调用该函数,以函数返回值作为placement,一共传入4个参数,第一个参数为本次匹配的子文本($&),中间参数为子表达式匹配字符串,个数不限($i),倒数第二个参数为本次匹配到的子文本下标位置,最后一个参数表示执行place方法的字符串本身。

4:split(yourRegexpOrString[,howMany]);
定义:把一个字符串分割成字符串值的数组。
其他说明:是arr.join(separatorString)反操作,如果传入"",则每个字符都将会被分隔到数组。howMany指定返回数组的个数。

JavaScript正则表达式函数总结的更多相关文章

  1. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  2. 理清JavaScript正则表达式--下篇

    紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...

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

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

  4. Javascript常用方法函数收集(二)

    Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...

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

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

  6. JavaScript 常用函数总结

    javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert ...

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

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

  8. JavaScript 正则表达式上——基本语法

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

  9. javascript 正则表达式(二)

    /* 正则表达式方法:test(),exec(),String对象方法:match(),search(),replace(),split() 1.test()方法: 用法:  regexp对象实例.t ...

随机推荐

  1. [学习OpenCV攻略][012][读取、修改、保存图像]

    使用 imread 读取图像,图像路径为 imageName ,图像按BGR格式读取. image = imread( imageName, CV_LOAD_IMAGE_COLOR); 将RGB图像转 ...

  2. Spark算子--mapPartitions和mapPartitionsWithIndex

    mapPartitions--Transformation类算子 代码示例 result   mapPartitionsWithIndex--Transformation类算子 代码示例 result ...

  3. 织梦DedeCMS提示信息框的修改,修改ShowMsg方法函数

    http://www.360doc.com/content/14/0408/13/16498929_367236469.shtml 织梦DedeCMS系统,处处都在用到提示信息,但是这个提示框,前台后 ...

  4. Redis 数据结构与内存管理策略(下)

    Redis 数据结构与内存管理策略(下) 标签: Redis Redis数据结构 Redis内存管理策略 Redis数据类型 Redis类型映射 Redis 数据类型特点与使用场景 String.Li ...

  5. 一简单的RPC实例(Java)

    来至于阿里liangf:如有冒犯,请原谅 RPCFrameWork: package com.sunchao.demo; import java.io.IOException; import java ...

  6. Android studio登录界面

    打开Android studio,你需要建立两个类LoginMainAcitivity.java和SuccessMainActivity.java,和与之相对应的xml布局文件login_main.x ...

  7. java连接mysql以及增删改查操作

    java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...

  8. WebSphere--连接管理器

    连接管理器使您可以控制并减少由 Web 应用程序使用的资源.相对于非 Web 应用程序,基于 Web 的应用程序对数据服务器的访问会导致更高的和不可预料的系统开销,这是由于 Web 用户更为频繁的连接 ...

  9. Docker几个基本常识

    标签(linux): docker 此文来自本人学习以及网络整理而来. 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 对于用户来说,可能一开始在不了解的情况下会 ...

  10. CURL post/get提交

    public function curlss($url){ $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, $u ...