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 相关文章推荐
JavaScript OOP类与继承
Nov 15 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
Dec 22 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
IE8中使用javascript动态加载CSS的解决方法
Jun 17 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 Javascript
Javascript如何实现双指控制图片功能
Feb 25 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 Javascript
vue 修改 data 数据问题并实时显示操作
Sep 07 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类
2006/10/09 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
在模板页面的js使用办法
2010/04/01 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
详解django自定义中间件处理
2018/11/21 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python continue语句实例用法
2020/02/06 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
Python3如何判断三角形的类型
2020/04/12 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
美国著名手表网站:Timepiece
2017/11/15 全球购物
结婚典礼证婚词
2014/01/11 职场文书
小区停车场管理制度
2014/01/27 职场文书
绿色小区申报材料
2014/08/22 职场文书
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
vue3获取当前路由地址
2022/02/18 Vue.js