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 相关文章推荐
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
js关闭子窗体刷新父窗体实现方法
Dec 04 Javascript
js获取客户端外网ip的简单实例
Nov 21 Javascript
JS实现文件动态顺序载入的方法
Mar 07 Javascript
javascript动态设置样式style实例分析
May 13 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
BootStrap与Select2使用小结
Feb 17 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
如何基于js判断浏览器版本
Feb 20 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 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
玩转图像函数库―常见图形操作
2006/09/03 PHP
php数据库密码的找回的步骤
2011/01/12 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
javascript连续赋值问题
2015/07/08 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
js根据需要计算数组中重复出现某个元素的个数
2019/01/18 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
如何利用python查找电脑文件
2018/04/27 Python
python 实现登录网页的操作方法
2018/05/11 Python
python实现简单http服务器功能
2018/09/17 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
管理学专业个人求职信范文
2013/09/21 职场文书
自荐信模版
2013/10/24 职场文书
工作会议主持词
2014/03/17 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
选购到合适的激光打印机
2022/04/21 数码科技