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下实现overlay遮罩层代码
Aug 25 Javascript
jquery中:input和input的区别分析
Jul 13 Javascript
特殊情况下如何获取span里面的值
May 20 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
Perl Substr()函数及函数的应用
Dec 16 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
Oct 24 Javascript
Bootstrap php制作动态分页标签
Dec 23 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
vue构建动态表单的方法示例
Sep 22 Javascript
微信小程序自定义多列选择器使用详解
Jun 21 Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 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开发过程中常用函数收藏
2009/12/14 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
python 合并文件的具体实例
2013/08/08 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
django列表筛选功能的实现代码
2020/03/27 Python
为什么说python适合写爬虫
2020/06/11 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
护林防火标语
2014/06/27 职场文书
运动会演讲稿50字
2014/08/25 职场文书
财务统计员岗位职责
2015/04/14 职场文书
2015小学师德工作总结
2015/07/21 职场文书