RegExp方法解析
RegExp 正则表达式(regular expression)的缩写
语法:
显式构造函数 var rg= new RegExp(pattern, attributes)
隐式构造函数 var rg= /pattern/attributes
pattern: 字符串
attribute: i, g (i不区分大小写的匹配, g全局匹配,即查询所有匹配项而不是在匹配到第一个后就停止,"gi"不区分大小写且全局检索)可选参数
常用方法说明:
1.test()
string中是否有匹配的字符串,有则返回true,没有返回false
eg:var str = "abc";
var rg = /b/i;
console.log(rg.test(str)); //true
2.exec()
检索指定值,有则返回数组,没有则返回null
eg:
var str = "abcb";
var rg = /b/g;
console.log(rg.exec(str)); //["b", index: 1, input: "abcb"]
参数解析:
index:首次匹配内容的开始位置,初始值为-1,从0开始计数,每次成功匹配,都会发生改变
input: 返回当前所作用的字符串,初始值为“”
3.match()
检索指定值,若有匹配项,全局搜索时返回匹配项数组,一般搜索时返回也返回数组,格式与exec结果一样,没有则返回null
eg:
var str = "abcb";
var rg = /b/g;
console.log(str.match(rg)); //["b", "b"]
exec与match功能类似,但依旧有诸多区别:
1.如果正则中有g(全局搜索),match返回所有匹配的结果,而exec返回第一次匹配的结果
2.写法上顺序相反
3.exec返回第一次匹配的位置,匹配内容,所作用的字符串,match返回匹配的内容
4.如果没有g,但是有分组,则两个结果一样。或者没有g也没有分组。只返回第一个匹配
4.search()
返回第一次匹配的位置
eg: var str = "abcb";
var rg = /b/g;
console.log(str.search(rg)); //1
5.replace()
替换匹配的字符串并返回新的字符串
eg:
var str = "abcb";
var rg = /b/g;
console.log(str.replace(rg, "1")); //a1c1
全局模式下全部替换,其他情况下替换第一个,原字符串不发生改变!
6.compile()
用于改变正则表达式
语法:rg.compile(regexp, modifier)
regexp新的正则表达式;
modifier新的模式 "g"全局检索; "i"不区分大小写; "gi"不区分大小写且全局检索;
7.split()
将字符串分割为字符串数组
语法:string.split(string/regexpobj, howmany)
可根据字符串或者正则进行分割,howmany选填,用于规定数组大小,为空时全部分割
eg:
var rg=new RegExp("e", "g");
console.log(("The best things in life are free").split(rg));
//["Th", " b", "st things in lif", " ar", " fr", "", ""]
RegExp方法解析的更多相关文章
- Python的方法解析顺序(MRO)[转]
本文转载自: http://hanjianwei.com/2013/07/25/python-mro/ 对于支持继承的编程语言来说,其方法(属性)可能定义在当前类,也可能来自于基类,所以在方法调用时就 ...
- sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO
sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO 今天在弄一个 sqlalchemy 的数据库基类的时候,遇到了跟多继承相关的一个小问题,因此顺便看了一 ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- 四种方法解析JSON数据
(1)使用TouchJSon解析方法:(需导入包:#import "TouchJson/JSON/CJSONDeserializer.h") //使用TouchJson来解析北京的 ...
- Method Resolution Order – Python类的方法解析顺序
在支持多重继承的编程语言中,查找方法具体来自那个类时的基类搜索顺序通常被称为方法解析顺序(Method Resolution Order),简称MRO.(Python中查找其它属性也遵循同一规则.)对 ...
- 【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析
作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38487967 一. MediaPlayer 状态机 介绍 ...
- 2019-2-20C#开发中常用加密解密方法解析
C#开发中常用加密解密方法解析 一.MD5加密算法 我想这是大家都常听过的算法,可能也用的比较多.那么什么是MD5算法呢?MD5全称是 message-digest algorithm 5[|ˈmes ...
- C#中用DateTime的ParseExact方法解析日期时间(excel中使用系统默认的日期格式)
最近做的项目中服务器是英文的系统,系统需要通过excel的单元格导入日期,excel中的日期格式是系统默认的日期格式,如下图所示 以上日期格式,会跟着操作系统设置的日期格式相同例如我的中文系统的日期格 ...
- JSON.parse() 方法解析一个JSON字符串
JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象.可以提供可选的reviver函数以在返回之前对所得到的对象执行变换. 语法EDIT JSON.pa ...
随机推荐
- OSX终端 命令行的一些基本操作
本文转载至 http://blog.csdn.net/xdrt81y/article/details/24058959 osx终端命令 OSX终端 命令行的一些基本操作终端 命令行的一些基本操作很多朋 ...
- Java中匿名内部类
匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象 ...
- MVC结构简介
本文编译自J2EE的相关文档.MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征.这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易. ...
- 关于vs2013中包含目录,以及库目录配置相对路径的问题
记住一句话即可! 相对路径: 是相对于你的工程的*.vcxproj的路径!!!
- vijos P1740 聪明的质检员
题目链接:传送门 题目大意:给你n个物品,每件物品有重量 W 和价值 V,给m个区间,和一个标准值.(n,m最大200000) 要求找到一个值x,使得m个所有区间的权值和与标准值的差的绝对值最小.单个 ...
- selenium 方法导图
- 170222、使用Spring Session和Redis解决分布式Session跨域共享问题
使用Spring Session和Redis解决分布式Session跨域共享问题 原创 2017-02-27 徐刘根 Java后端技术 前言 对于分布式使用Nginx+Tomcat实现负载均衡,最常用 ...
- 用jQuery的attr()设置option默认选中无效的解决 attr设置属性失效
表单下拉选项使用selected设置,发现第一次默认选中成功,在页面不刷新的情况下,再次下拉,selected属性设置了,默认选中不生效 在手机端有些浏览器用jQuery的attr()方法设置sele ...
- 品友推广的投放原理 RTB:Real Time Bidding(实时竞价) DSP:Demand-Side Platform(需求方平台) 广告交易平台:AD Exchange
总结: 1.实时竞价 0.1秒出价各个广告主出价,投放价高者: RTB(Real Time Bidding)实时竞价,是一种利用第三方技术在数以百万计的网站或移动端针对每一个用户展示行为进行评估以及出 ...
- Character Sets, Collation, Unicode :: utf8_unicode_ci vs utf8_general_ci
w Hi, You can check and compare sort orders provided by these two collations here: http://www.collat ...