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", "", ""]

最新文章

  1. ORACLE常用数值函数、转换函数、字符串函数
  2. Hui之Hui.js 官方文档
  3. 创建MyOffice项目
  4. Hark的数据结构与算法练习之堆排序
  5. MS Sq l数据类型
  6. IOS键盘收起
  7. javascript将json转字符串
  8. 12096 - The SetStack Computer UVA
  9. [改善Java代码]非稳定排序推荐使用List
  10. Hadoop Oozie 学习笔记
  11. Linux命令后台执行技巧小结
  12. 本地无sqlserver服务下操作数据库 之GSQL
  13. Android开源框架AsyncHttpClient (android-async-http)使用
  14. [国嵌攻略][163][linux-usb软件系统架构]
  15. arcEngine开发之加载栅格数据
  16. yii2部署nginx
  17. 安装Mosquitto学习MOTT协议
  18. 专访阿里资深研发工程师窦贤明:PG与商业数据库差距并不明显
  19. 1.Spring——七大主要模块
  20. 统一日志监控系统 springboot websocket 简单版 王代军-作品

热门文章

  1. poj 1659(havel算法)
  2. poj 3308(最小点权覆盖、最小割)
  3. win7物理主机与虚拟XP系统互相ping不通解决方法
  4. nginx已经启动 无法访问页面
  5. DB2 SQL方式查看版本
  6. 查找xcode6的沙盒地目录
  7. java怎么计算散列码hashcode?
  8. Fluent Ribbon 第六步 StartScreen
  9. Centos6.5 DNS配置
  10. IO 流中编码和解码问题