JS正则表达式获取分组内容的方法详解


Posted in Javascript onNovember 15, 2013

支持多次匹配的方式:

var testStr = "now test001 test002";   
var re = /test(\d+)/ig;    
var r = "";   
while(r = re.exec(testStr)) {   
    alert(r[0] + "  " + r[1]);   
} 

此外也可以用testStr.match(re),但是这样的话就不能有g的选项,而且只能得到第一个匹配。

另外备忘一下:

正则表达式对象的属性及方法:

预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext,

rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据

不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式)

正则表达式对象的属性:
属性 含义
$1...$9 如果它(们)存在,是匹配到的子串 
$_ 参见input 
$* 参见multiline 
$& 参见lastMatch 
$+ 参见lastParen 
$` 参见leftContext 
$''

  参见rightContext 
constructor

   创建一个对象的一个特殊的函数原型 
global

  是否在整个串中匹配(bool型) 
ignoreCase

匹配时是否忽略大小写(bool型) 
input

  被匹配的串 
lastIndex

  最后一次匹配的索引 
lastParen

  最后一个括号括起来的子串 
leftContext

   最近一次匹配以左的子串 
multiline

  是否进行多行匹配(bool型) 
prototype

  允许附加属性给对象 
rightContext

  最近一次匹配以右的子串 
source

  正则表达式模式 
lastIndex

  最后一次匹配的索引

正则表达式对象的方法:
方法 含义
compile

   这个应该是指重新定义正则表达式的内容
exec

执行查找,可以利用while的方式多次查找
test

  进行匹配 
toSource

  返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。 
toString

  返回特定对象的串。重载Object.toString方法得到的。 
valueOf

   返回特定对象的原始值。重载Object.valueOf方法得到

例子:

<script language="JavaScript"> 
var myReg = /(w+)s(w+)/; 
var str  = "John Smith"; 
var newstr = str.replace(myReg, "$2, $1"); 
document.write(newstr); 
</script>

将输出"Smith, John"
Javascript 相关文章推荐
支持ie与FireFox的剪切板操作代码
Sep 28 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
在浏览器中打开或关闭JavaScript的方法
Jun 03 Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
深入理解jquery中的事件与动画
May 24 Javascript
浅析jQuery中使用$所引发的问题
May 29 Javascript
JavaScript实现移动端滑动选择日期功能
Jun 21 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
js实现踩五彩块游戏
Feb 08 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 #Javascript
jQuery Form 页面表单提交的小例子
Nov 15 #Javascript
js简单实现用户注册信息的校验代码
Nov 15 #Javascript
jquery slibings选取同级其他元素的实现代码
Nov 15 #Javascript
jquery实现手风琴效果实例代码
Nov 15 #Javascript
jquery中插件实现自动添加用户的具体代码
Nov 15 #Javascript
用jquery中插件dialog实现弹框效果实例代码
Nov 15 #Javascript
You might like
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
4个顶级开源JavaScript图表库
2018/09/29 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
python实现简单的TCP代理服务器
2014/10/08 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
Python IDLE清空窗口的实例
2018/06/25 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
HTML5等待加载动画效果
2017/07/27 HTML / CSS
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
傲盾软件面试题
2015/08/17 面试题
小学新学期寄语
2014/04/02 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
考研经验交流会策划书
2015/11/02 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL