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模版引擎-tmpl的bug修复与性能优化分析
Oct 23 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
Mar 23 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
Jun 28 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
vue实现的封装全局filter并统一管理操作示例
Feb 02 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
Nov 20 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
smarty的保留变量问题
2008/10/23 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
this关键字的作用
2016/01/30 面试题
机关单位人员学雷锋心得体会
2014/03/10 职场文书
绿色城市实施方案
2014/03/19 职场文书
师德师风自我评价范文
2014/09/11 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
公司员工奖惩制度
2015/08/04 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android