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 相关文章推荐
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
Feb 15 Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 Javascript
AngularJS 2.0入门权威指南
Oct 08 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 jQuery
js获取文件里面的所有文件名(实例)
Oct 17 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 Javascript
微信小程序上传图片到php服务器的方法
May 23 Javascript
解决在Vue中使用axios用form表单出现的问题
Oct 30 Javascript
微信小程序地图实现展示线路
Jul 29 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 Google的translate API代码
2008/12/10 PHP
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP答题类应用接口实例
2015/02/09 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
react写一个select组件的实现代码
2019/04/03 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Python读写unicode文件的方法
2015/07/10 Python
python实现redis三种cas事务操作
2017/12/19 Python
python监控进程脚本
2018/04/12 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
Python3列表List入门知识附实例
2020/02/09 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
高校自主招生自荐信
2013/12/09 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
走群众路线剖析材料
2014/10/09 职场文书