js进阶正则表达式13RegExp对象方法(RegExp对象的方法:compile,test,exec)(子表达式 var reg1=/([a-z]+)\d/

一、总结

1、RegExp对象有三个方法:compile(编译正则表达式),test(检索字符串中指定的值),exec(检索字符串中指定的值)(和string对象的match有点类似) 。

2、子表达式:分组的表达式,也就是小括号括起来的表达式,var reg1=/([a-z]+)\d/ 其中([a-z]+)就是字表达式

二、js进阶正则表达式13RegExp对象方法

RegExp 对象方法

  • compile 编译正则表达式。

    compile 方法将正则表达式转换为内部的格式,从而执行得更快。例如,这允许在循环中更有效地使用正则表达式。当重复使用相同的表达式时,编译过的正则表达式使执行加速。

  • test 检索字符串中指定的值。返回 true 或 false。

    语法:RegExpObject.test(string)

    如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。

  • exec 检索字符串中指定的值。返回找到的值,并确定其位置。

    如果 exec 方法没有找到匹配,将返回 null。如果找到匹配项,则 exec 方法返回一个数组

    数组元素 0 包含了完整的匹配项,而元素 1 到 n 包含的是匹配项中出现的任意一个子匹配项。

    除了数组元素和 length 属性之外,exec() 方法还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性则存放的是被检索的字符串 string。在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。

    当 RegExpObject 是一个全局正则表达式时,exec() 会在 RegExpObject 的 lastIndex 属性指定的字符处开始检索字符串 string。当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把 RegExpObject 的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置

三、代码

 <!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>课堂演示</title>
<style type="text/css">
li{
font-size: 20px;
width: 500px;
background: rgba(0,180,80,0.3);
padding: 10px;
margin: 10px;
}
</style>
</head>
<body>
<hr> <script type="text/javascript">
//exec与match的区别
//1.exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串
//2.当正则表达式无子表达式,并且定义为非全局匹配时,exec和match执行的结果是一样,均返回第一个匹配的字符串内容;
//3.当正则表达式无子表达式,并且定义为全局匹配时,exec和match执行,做存在多处匹配内容,则match返回的是多个元素数组
//4.当正则表达式有子表达式时,并且定义为全局匹配,exec和match执行的结果不一样,此时match将忽略子表达式,只查找全匹配正则表达式并返回所有内容
//5.当正则表达式有子表达示时,并且定义为非全局匹配,exec和match执行的结果是一样;
//exec与全局是否定义无关系,而match则于全局相关联,当定义为非全局,两者执行结果相同
/*
var str="00css3 HTML5"
var reg=/\w+/g
var reg1=/([a-z]+)\d/ //1、子表达式
document.write('<ol>')
document.write('<li>'+'原字符串:'+str
+'<li>'+str.match(reg)
+'<li>'+reg.exec(str) //2、regexp对象的exec方法
+'<li>'+str.match(reg1)
+'<li>'+reg1.exec(str)
+'<li>'+reg1.exec(str).index+'<br/>'+reg1.exec(str).input )
document.write('</ol>')
*/
var str='HTML5 HTML5 HTML5 HTML5'
var reg=/html5/gi
// reg.test(str)
// reg.test(str)
//reg.lastIndex=5
reg.exec(str)
//reg.exec(str)
alert(reg.lastIndex)
</script>
</body>
</html>

最新文章

  1. 定时器的应用---查询方式---让8个LED灯,左右各4个来回亮
  2. Eclipse 中 安装 SVN 插件
  3. remount failed: Operation not permitted ,怎么办呢?
  4. saiku执行速度优化二
  5. gridview合并单元格
  6. redis主从 哨兵
  7. HTML5 总结-音频-2
  8. Struts2实现国际化
  9. 记录Winform开发过程中遇到的情况
  10. 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装
  11. [转]查询 SQL Server 系统目录常见问题
  12. C#中委托和事件的区别
  13. Java中的公平锁和非公平锁实现详解
  14. FreeRTOS学习目录
  15. Sql server数据库连接Oracle库的步骤
  16. 02-css的选择器
  17. Oracle Function: NVL
  18. 稀疏数据压缩查询方法:Rank &amp; Select 操作
  19. HDUOJ-----2852 KiKi&#39;s K-Number(树状数组+二分)
  20. js 实现路由功能

热门文章

  1. mahout历史(二)
  2. 如何应对DDOS网络攻击
  3. Spring学习总结(9)——Spring AOP总结
  4. 洛谷 P1781 宇宙总统
  5. C++基于矢量图形库cairo画图图形
  6. 2lession-文件访问
  7. Express框架是什么
  8. TeamViewer的下载、安装和使用(windows7、CentOS6.5和Ubuntu14.04(64bit))(图文详解)
  9. Weblogic问题汇总
  10. 修改shm,oracle11g需要扩大共享内存