免费刷金币,请点击这里
TE社区 > 前端技术
客服QQ:1206116161

javascript正则表达式之分组概念与用法实例

cocoa_vip 于 2018-02-22 14:00:47 创建话题
(38)
(0)
举报

本文实例讲述了javascript正则表达式之分组概念与用法。分享给大家供大家参考,具体如下:

function matchDemo(){
  var s;
  //该表达式分了三个组:d(b+)(d)、(b+)、(d)这个三个组(实际上是四个组,包括本身所有的表达式)
  //从最左边数第一个括号为第一个组,第二个括号为第二组,以此类推,分别对应的值为RegExp.$1和RegExp.$2的值
  var re = new RegExp("(d(b+)(d))","ig");
  var str = "cdbBdbsbdbdz";
  //exec()返回的值是符合表达式查找出来的一个数组
  var arr = re.exec(str);
  //符合d(b+)(d)这个表达式返回的值
  s = "$1 contains: " + RegExp.$1 + ", RegExp.$1 : " + RegExp.$1.length + "\n";
  //符合(b+)这个表达式返回的值
  s += "$2 contains: " + RegExp.$2 + ", RegExp.$2 : " + RegExp.$2 + "\n";
  //符合(d)这个表达式返回的值
  s += "$3 contains: " + RegExp.$3 + ", RegExp.$3 : " + RegExp.$3;
  //得到匹配字符串最后一个字符在字符串中的位置,也就是下次匹配开始位置
  alert(RegExp.lastIndex);
  //如果存在值,则返回的是最后一个分组的结果(返回任何正则表达式查找过程中最后括的子匹配)
  alert(RegExp.lastParen);
  //得到最后匹配的字符串(返回任何正则表达式搜索过程中的最后匹配的字符)
  alert(RegExp.lastMatch);
  //leftContext + lastMatch + rightContext == context
  alert(RegExp.leftContext);
  alert(RegExp.rightContext);
  //得到的结果为第二个分组的结果
  alert(RegExp.$2);
  return(s);
}
alert(matchDemo());

function matchDemo2(){
  var s,temp;
  //该结果分为两个组(b+)、(d),当然还包括全部(d(b+)(d))为默认的组
  var re = new RegExp("d(b+)(d)","ig");
  var str = "cdbBdbsbdbdz";
  //arr的结果包括三个组(包括全部的模式)返回的结果
  //dbBd、bB、d和dbd、b、d这两个模式匹配,而第二个和第三个数组实际上就是在第一个的基础上匹配(b+)、(d)这两个模式
  //也就是说分组是在全匹配的模式下再进行匹配,起到"筛选"的功能
  while((arr = re.exec(str)) != null)
  {
      alert(arr);
      temp = "$1 contains: " + RegExp.$1 + ", RegExp.$1.length : " + RegExp.$1.length + ",RegExp.$1.lastIndex:" + RegExp.$1.lastIndex; 
      alert(temp);
      //$2属性表示的是匹配第二个分组,即(d)这个模式
      s = "$2 contains: " + RegExp.$2 + ", RegExp.$2.length : " + RegExp.$2.length;
      alert(s);
  }
}
matchDemo2();

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

扫码关注TE官方微博 扫码关注TE官方微博
asp.net中session的原理及应用详解 对python中的xlsxwriter库简单分析 iOS Tabbar中间添加凸起可旋转按钮功能 在Linux服务器上安装Linux-Dash的教程 jQuery事件绑定用法详解 js 单引号 传递方法 详解Android Gradle插件3.0挖坑日记 linux top命令详解和使用实例及使用技巧(监控linux的系统状况) jQuery表单美化插件jqTransform使用详解 修改Tomcat默认访问根目录的方法 通过onmouseover选项卡实现img图片的变化 php笔记之:有规律大文件的读取与写入的分析 js判断请求的url是否可访问,支持跨域判断的实现方法 centos下netconfig 的安装方法 js动态往表格的td中添加图片并注册事件 jQuery简介_动力节点Java学院整理 JavaScript观察者模式(publish_subscribe)原理与实现方法 纯 Css 绘制扇形的方法示例 AngularJS 表达式详解及实例代码 javascript this详细介绍 jQuery CSS()方法改变现有的CSS样式表 判断dll文件是否已经注册的ASP函数代码 php通过获取头信息判断图片类型的方法 Jquery Autocomplete 结合asp.net使用要点 SQL SEVER数据库重建索引的方法 php实现图片添加水印功能 jquery自定义类似$.ajax()的方法实现代码 jQuery动态修改字体大小的方法【测试可用】 php代码收集表单内容并写入文件的代码 php导入模块文件分享 PHP的Socket网络编程入门指引 在线编辑器的实现原理(兼容IE和FireFox) Linux系统中tr命令删除和替换文本字符的基本用法 使用命令对象代替switch语句的写法示例 html5+javascript实现简单上传的注意细节 mysql5.7.22 下载过程图解 javascript + jquery实现定时修改文章标题 AngularJs学习第五篇从Controller控制器谈谈$scope作用域 在vue项目中引入highcharts图表的方法(详解) JavaScript实现网页图片等比例缩放实现代码及调用方式 IOS实现聊天界面底部菜单栏效果 Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例 node.js 中国天气预报 简单实现 javascript获取url上某个参数的方法 Python实现爬取需要登录的网站完整示例 Lua获取文件长度和判断文件是否存在函数分享 Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题) 配置iptables,把80端口转到8080的简单方法 完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题 ASP.NET 使用application与session对象写的简单聊天室程序 GridView分页的实现(通用分页模板) mysql 转换NULL数据方法(必看) Python中的测试模块unittest和doctest的使用教程 jsp 自动编译机制详细介绍 mysql使用GROUP BY分组实现取前N条记录的方法 JavaScript淡入淡出渐变简单实例 asp.net 无重复随机数代码 Mac怎么更改finder图标?Mac改finder字体大小方法 彻底弄懂CSS盒子模式系列教程集合 JavaScript读取中文cookie时的乱码问题的解决方法 CentOS系统安装Redis及Redis的PHP扩展详解 js异步加载的三种解决方案 AngularJS入门知识之MVW类框架的编程思想探讨 Linux密码安全防护操作详解 浅谈Angular中ngModel的$render ora-00119和ora-00132问题的解决方法 python数据结构之链表的实例讲解 jquery简单的弹出层浮动层代码 JS提交form表单实例分析 jQuery的内容过滤选择器学习教程 取numpy数组的某几行某几列方法 Linux上查看用户创建日期的几种方法总结 SQLite速度评测代码 jquery命令汇总,方便使用jquery的朋友 js console.log打印对像与数组用法详解 css3 transform 3d 使用css3创建动态3d立方体(html5实践) 浅谈Angular文字折叠展开组件的原理分析 js简单正则验证汉字英文及下划线的方法 php实现支付宝当面付(扫码支付)功能 JavaScript中的style.cssText使用教程 跟我学习javascript的垃圾回收机制与内存管理 JS交换变量的方法 python通过索引遍历列表的方法 php中使用__autoload()自动加载未定义类的实现代码 Android FaceDetector实现人脸检测功能 jQuery select自动选中功能实现方法分析 javascript 实现文本使用省略号替代(超出固定高度的情况) JS中精巧的自动柯里化实现方法 Jquery 获取指定标签的对象及属性的设置与移除 简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器 一个有意思的鼠标点击文字特效jquery代码 python实现的简单FTP上传下载文件实例 基于python实现简单日历 Docker基础知识之Linux namespace图文详解 js正则表达式之match函数讲解 在Python中使用第三方模块的教程 jQuery实现列表的全选功能 JavaScript 匿名函数和闭包介绍 SQL 查询和删除重复字段数据的方法 AngularJS实现路由实例 SQL Server 使用触发器(trigger)发送电子邮件步骤详解 基于Python如何使用AIML搭建聊天机器人 Mac怎么传输文件到安卓手机 苹果Mac传音乐到安卓手机图文教程 linux rm 命令(删除文件和目录) 使用详解 html5指南-4.使用Geolocation实现定位功能 CSS使用BFC规则布局引发外层div包裹内层div的处理方法 直接双击启动tomcat中的startup.bat闪退原因及解决方法 AngularJS2中一种button切换效果的实现方法(二) jsp隐藏关键敏感字段信息只显示前后字段的示例 WebView设置WebViewClient的方法 iOS实现自定义表单实例代码 jQuery ready方法实现原理详解 vue.js学习笔记 如何加载本地json文件 Python3中正则模块re.compile、re.match及re.search函数用法详解 Windows Powershell对象转换成文本 js 简易版滚动条实例(适用于移动端H5开发) CentOS禁用与开启触摸板的方法 JS的递增_递减运算符和带操作的赋值运算符的等价式 Css3制作变形与动画效果 分享5个好用的javascript文件上传插件 jQuery入门之层次选择器实例简析 PHP根据传来的16进制颜色代码自动改变背景颜色 ASP.NET网页显示LED字体的方法 Lesson01_07 图像标签 JavaScript实现简单的四则运算计算器完整实例 在vue中使用jointjs的方法 编写PHP程序检查字符串中的中文字符个数的实例分享 Ubuntu Server下建立VPN服务器的方法 jsp页面中插入css样式的三种方法总结 JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一) JavaScript中数据结构与算法(一):栈 Linux系统中强大的文本操作命令tr的使用讲解 ThinkPHP调用common_common.php函数提示错误function undefined的解决方法 PHP开发微信支付的代码分享 JavaScript操作 url 中 search 部分方法函数 js中遍历Map对象的方法 JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果) Linux下的mongodb服务监视脚本(启动服务) javascript实现html页面之间参数传递的四种方法实例分析 asp 存贮过程 (SQL版asp调用存储过程) Lesson02_02 帧标签 一道关于JavaScript变量作用域的面试题 JavaScript比较两个数组的内容是否相同(推荐) Linux常用网络工具之路由扫描工具mtr使用介绍 代码实现打印功能(asp.net+javascript) IE Firefox 使用自定义标签的区别 Python的设计模式编程入门指南 详解 Mysql查询结果顺序按 in() 中ID 的顺序排列 CFC4N小试php正则表达式 jQuery中removeClass()方法用法实例 javascript模拟php函数in_array 对象题目的一个坑 理解Javascript对象 在一个网站下再以虚拟目录的方式挂多个网站的方法 JavaScript中一个奇葩的IE浏览器判断方法 jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等) IIS6.0下Wordpress 去掉 index.php 和 category 的方法小结 使用ajax实现无刷新改变页面内容和地址栏URL FCKeditor 2.0 简化和使用 原生JS封装animate运动框架的实例 bpython 功能强大的Python shell sqlserver清除完全重复的数据只保留重复数据中的第一条 前端构建工具之gulp的配置与搭建详解 jQuery实现定位滚动条位置 windows下python模拟鼠标点击和键盘输示例 深入浅析Bootstrap列表组组件 nodejs 中模拟实现 emmiter 自定义事件 JavaScript字符串检索字符的方法 使用AngularJS对表单提交内容进行验证的操作方法 js获取页面及个元素高度、宽度的代码 mac系统中safari怎么添加书签? 把常用网页添加到收藏夹的效果 js手机号批量滚动抽奖实现代码 深入理解javascript构造函数和原型对象 Ubuntu如何轻松编译openJDK详解 jQuery搜索同辈元素方法 Python之文字转图片方法 Javascript 中文字符串处理额外注意事项 ES5学习教程之Array对象 SQL中位数函数实例 苹果电脑Mac系统中运行软件显示Enable access for assitive devices解决方法 CentOS与Ubuntu哪个更适合做服务器系统 MySQL高可用解决方案MMM(mysql多主复制管理器) Python进阶_关于命名空间与作用域(详解) JavaScript数组去重由慢到快由繁到简(优化篇) PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】 spring集成okhttp3的步骤详解 JavaScript获取页面上某个元素的代码 jQuery 监控键盘一段时间没输入 JS仿flash上传头像效果实现代码 tensorflow 加载部分变量的实例讲解 jquery ajax 如何向jsp提交表单数据 Ubuntu 15.04系统安装后要做的15件事 2014年50个程序员最适用的免费JQuery插件 基于PHP+Ajax实现表单验证的详解 asp.net简单生成XML文件的方法 ES6所改良的javascript“缺陷”问题 Asp.Net、asp实现的搜索引擎网址收录检查程序 修改Mysql root密码的方法 JavaScript中的Math.SQRT1_2属性使用简介 javascript 面向对象编程基础:继承 判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)
探险旅游指南HTML5模板.zip 【PHP源码】Bo-Blog 2.x to SaBlog-X 1.6转换程序_bo-blog_to_sablog-x_1.6.zip MagicZoom.js放大镜插件.zip 带邮件订阅设计企业模板.zip jQuery手机端投票瀑布流代码.zip java+sqlserver2008超市管理系统+数据库 大前端jQuery弹出层效果.zip 电子产品修理HTML模板.zip div css手机网站login表单特效.zip jQuery自适应倾斜图片切换代码.zip ViewPager广告轮播+无限循环+定时播放 CSS3可自动输入登录表单动画.zip 微信小程序源码-城市天气 jQ渐变隐藏按钮焦点图.zip 观O天气 搜狗壁纸多效果jQuery焦点图.zip 游戏网站jQuery手风琴切换.zip jquery鼠标滑过闪光滑出标题.zip 【PHP源码】hahaCMS v1.0_hahacms.zip 单车骑行运动CSS模板.zip 【ASP.NET源码】多线程数据采集器源码(C# 2.0) v1.0_dxci.zip jQuery时间表样式历程说明.zip 摄影杂志期刊html5模板.zip 整合JSON的SSM框架项目 汽车改装维修车行网站模板.zip 高端休闲会所网站模板.zip css3仿淘宝支付成功打勾动画特效.zip 大气商务办公企业网站模板.zip 蓝色沙滩度假休闲网站模板.zip 百度云爬虫系统源码 jQuery万年历日历设置代码.zip Android屏幕适配之Google百分比布局库的扩展 【PHP源码】MetInfo企业网站管理系统 1.5 Build 20090620_metcms_v1.5.zip 微信小程序源码-汽车维修保养商店小程序 html5 svg太空人404动画模板.zip jquery图标文字滑动切换导航.zip 门户网站jQuery相册代码.zip jQuery鼠标悬浮图片放大特效.zip jquery搜狗浏览器5.0预览页.zip 微信小程序 - 天气列表锚点.zip 【ASP.NET源码】IlgharSite CMS(娱乐网站) v1.080 A 中文版_ilgharsite1-chs.zip jquery图片放大插件Lightbox2.6.zip css3唯美loading加载动画特效.zip jQuery SVG垂直图标选项卡特效.zip 微信小程序源码-音乐播放器 时尚服装博客网站模板.zip 瑜伽休闲锻炼网站模板.zip jQuery滑动弹出层特效.zip jQuery商品分类选择提交表单代码.zip jquery+css3响应式图片轮播.zip CSS3 SVG表白鲜花动画特效.zip div css下拉导航菜单分类代码.zip java 工具类 jQuery右侧隐藏收缩在线客服.zip 原生JS左右滚动焦点图.zip 拳击比赛网站模板.zip metronic.bootstrap前后台完整模板 图标集合资源库 微信小程序源码-豆瓣同城 域名停放出售单页模板.zip jQuery网格布局瀑布流插件Freewall.zip 【ASP.NET源码】闪睿企业网站管理系统 2009 SP1 Build 090828_shanrui.zip 紫色风格旅行网站模板.zip jQuery+CSS3橙色导航菜单.zip FormData图片上传预览插件.zip JSP+ACCESS网上拍卖平台系统(源代码+论文) jQuery&CSS3旋转幻灯片.zip CSS3个人资料填写表单.zip jQuery仿搜狐辩论投票动画代码.zip jQuery动态背景导航菜单.zip 淘客在线客服管理系统TaokeOCS v3.2 站点版 mahout 数据挖掘学习视频 SpingBoot中使用Kafka的Demo dede 400套超酷公司网站模板 jquery弹性标签滑块.zip 创意设计超长CSS3页面模板.zip html5手机端点击图标环形菜单代码.zip 基于JSP技术的猎头公司管理软件的设计和实现——内部事务部分(源代码+论文) js四屏带缩略图响应幻灯片.zip 【ASP.NET源码】绝世好坛(AspxBBS)v4.3 正式版_aspxbbs43.zip Web开发CSS网页模板.zip Discuz! 薄风格.zip 手机端html5卡通场景动画效果.zip 仿拇指玩移动版站手机wap游戏网站模板.zip 纯CSS3制作倾斜45度封页角特效.zip 按摩健身绿色网站模板.zip 微信小程序源码-微赞社区 SpringSecurity3简单示例(含jar包,可直接运行) 吉他乐器爱好者网站模板.zip 工作细节页CSS网页模板.zip jQuery带描述滑动幻灯片.zip 国外视频新闻网站模板.zip 【PHP源码】渝海搜索引擎蜘蛛模拟工具 v1.1_yh_zhizhu.zip jquery光标跟随360导航.zip 欧美水疗spa网站模板.zip 【PHP源码】仿天空软件顶和踩插件(PHP)_diggc.zip 微信小程序源码-百度小说搜索 图标集合资源库 商务写字楼房产网站模板.zip 欧美音乐爱好者网站模板.zip 纯CSS3左右滑动开关按钮.zip SSH+ExtJs的demo完全实现 【PHP源码】DedeCms v5.1 SP1 GBK Build20080812_dedecmsv51-gbk.zip 【PHP源码】PHPWind v5.3 UTF-8简体中文正式版 BuildBuild20070625_phpwind_utf8_5.3.zip 迅雷影音官网jQuery幻灯片特效.zip java基于BS结构下的OA流程可视化的研究与实现(源代码+论文) 绿色企业邮箱销售网站模板.zip 西餐厅美食HTML网站模板.zip jQuery+CSS3另类滑动掉落导航菜单.zip jQuery纵向手风琴滚动切换.zip jQuery点击添加到购物车.zip 科技技术网页模板下载.zip jquery滚动条美化插件.zip 蓝色大气房产中介网站模板.zip 【精品】BOOTSTRAP 后台网站模板 浅蓝风格CSS建站模板.zip jQuery无图片网站回到顶部特效.zip css3实现app应用相机图标.zip springmvc入门实例 【ASP.NET源码】Solog v1.0(含C#源码)_solog.zip java实现附近的人功能 CSS3带阴影五彩文字特效.zip 红色大气冲浪网站模板.zip 左右翻页的flash+xml相册.zip CSS3实现自定义聊天窗口.zip 油漆博客CSS网页模板.zip 【ASP.NET源码】Sql Web Admin汉化版_sqlwebadmin.zip 3d鼠标拖动图片360°旋转动画效果.zip jQuery鼠标经过星星显示特效.zip 微信小程序源码-拉勾 蓝色无人机公司网站模板.zip 2014麦包包ecshop模板.zip 跑步运动鞋企业网站模板.zip 安全保护公司网站模板.zip 【PHP源码】TechWeb同事录UCH调查插件 v1.0_uch_vote_1.0.zip struts+hibernate+spring 博客系统 仿海王星辰网上药店触屏版手机wap健康购物网站模板.zip 鸟类大全HTML5整站模板.zip 【ASP.NET源码】企业黄页-大众投资指南整站 asp.net 2.0_dztzzn.zip jQuery自动生成代码行号特效.zip 视频分享网站CSS模板.zip jquery路径动画插件.zip jQuery扁平对话框插件gDialog.zip 夏日休闲度假旅游网站模板.zip jQuery多层堆叠展示导航菜单代码.zip 【ASP.NET源码】HHFeditor在线编辑器 3.0 免费版_hhfeditor3.0.zip 微信小程序源码-语音日记本;php后端 jQuery可拖拽3D万花筒旋转特效.zip 快乐游乐园HTML5网页模板.zip 高性能滚动触发网站模板.zip 橙色学校教育网站模板.zip 【PHP源码】客运班车查询系统 v3.1(PHP)_banche_php.zip jQuery可定制TN3相册效果.zip jquery左侧居中链接图片动画效果.zip 【PHP源码】SEO-Board v1.1.0 RC2 汉化版_seo-board.zip 【ASP.NET源码】强少爷多功能图片随机显示程序(水印版) v1.0_randomimg.zip jQuery流媒体音乐播放器特效.zip 微信小程序 - 煎蛋.zip jQuery彩色图片转黑白图片代码.zip 宽屏wordpress企业主题.zip 【PHP源码】渝海QQ号码吉凶查询工具 v1.0_yh_qqjx.zip struts2+hibernate+spring实现的二级联动下拉列表 鞋子电子商务html网站模板.zip 【PHP源码】TradeSky v1.0_tradeskyv1.zip NFC实现写入NFC贴纸,读取打开自定义应用 残障儿童公益项目网站模板.zip ajax点击地图显示商家网点分布.zip jquery+很牛的全屏轮播大banner+图片居中+图片缓冲显示 【PHP源码】Softbiz Jokes and Funny Pictures v1.0_softbizjokes10.zip jquery图片轮播插件.zip 高仿大众点评第二版 【PHP源码】在线虚拟主机出售系统(定单提交系统)tdweb汉化版_hostregtdweb.zip 宠物猫猫html网页模板.zip 游戏网站jQuery焦点图轮播特效.zip HTML5+CSS动画最佳实战 Wordpress Space Blog.zip 商务团队公司网站模板.zip 全球旅游团队公司模板.zip Spring 动态加载配置文件(热部署技术) windows RedisClient redis客户端 Discuz! x2.5清新二代模板.zip 【ASP.NET源码】网奇IOS智能在线订单系统 v2.5 (ASP.NET 1.1)_wqios.zip 微信小程序 - 阅读.zip 赣极方棋html5小游戏下载.zip 导航固定跟随大气网页模板.zip 数据统计分析网页模板.zip jQuery+html5响应式页面滚屏代码.zip analogClock.js时钟插件.zip jQuery九宫格全图滑动.zip jQuery轮播图插件simpleSlider.zip 那些年我们一起抓过的肉鸡视频教程 jquery京东商城首页焦点图.zip 带动画效果CSS3手风琴菜单.zip 外卖订餐网站CSS模板.zip cxSlide带缩略图和描述焦点图.zip 仿淘宝首页jquery焦点图.zip 时尚女性T恤服装网页模版.zip SVG实现镂空动画图标.zip Discuz! will smith.zip jQuery图片动态旋转插件.zip
举报X