JavaScript正则表达式函数总结
/* 测试环境: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正则表达式函数总结的更多相关文章
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- 理清JavaScript正则表达式--下篇
紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...
- JavaScript正则表达式详解(一)正则表达式入门
JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...
- Javascript常用方法函数收集(二)
Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...
- Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识
本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- JavaScript 常用函数总结
javascript函数: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert ...
- JavaScript正则表达式下——相关方法
上篇博客JavaScript 正则表达式上——基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实 ...
- JavaScript 正则表达式上——基本语法
定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- javascript 正则表达式(二)
/* 正则表达式方法:test(),exec(),String对象方法:match(),search(),replace(),split() 1.test()方法: 用法: regexp对象实例.t ...
随机推荐
- Spark性能调优之合理设置并行度
Spark性能调优之合理设置并行度 1.Spark的并行度指的是什么? spark作业中,各个stage的task的数量,也就代表了spark作业在各个阶段stage的并行度! 当分配 ...
- 访问网站出现 Directory Listing Denied This Virtual Directory
出现这个提示是指没有在您指定的目录找到默认首页,比如您直接输入域名访问空间, 但是出现以上提示,那么请检查目录下是否有 index.htm,index.html,index.asp,default.a ...
- [SinGuLaRiTy] 复习模板-高精度模板
[SinGuLaRiTy-1042] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 结构体封装 //高精度运算 注意%I64d与%lld # ...
- Schema与数据类型优化
良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询数据来设计schema,这往往需要权衡各种因素. MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要. 更小的通 ...
- 2017-06-23(chmod whoami chown)
文件权限设定 chmod u-x newfile chmod u-x,g+w newfile chmod a=rwx newfile [mode=421] r = 4 , w=2, x=1 chmod ...
- linux_sudo命令
sudo 为了收拾su命令的烂摊子 普通用户要切换root,必须要知道root密码,那么相当于人人都有了核按钮,那是绝对不允许的 用su切换到root,无法对是谁要求root权限的身份进行控制,拿到r ...
- java日志概述和原理
OK,现在我们来研究下Java相关的日志. 日志记录是应用程序运行中必不可少的一部分.具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源.对于开发人员来说,在程序中使 ...
- Linux指令--ln
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...
- 计算器(Ext)
<html> <head> <title>计算器</title> <meta charset="UTF-8"> < ...
- css 块状元素与行内元素(内联元素)的理解
块状元素: 它一般是其他元素的容器元素,可以容纳块状元素和行内元素,它默认是不会和其他元素同一行的,即相当于两个块状元素写一起是垂直布局的.最常用的是div和p 行内元素: 行内元素又称内联元素,它只 ...