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图片不完全按比例自动缩小的简单代码
Jul 29 Javascript
购物车选中得到价格实现示例
Jan 26 Javascript
通过url查找a元素并点击
Apr 09 Javascript
JavaScript异步加载浅析
Dec 28 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
May 12 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
May 17 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
React Native AsyncStorage本地存储工具类
Oct 24 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
微信小程序实现评论功能
Nov 28 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
ThinkPHP中的三大自动简介
2014/08/22 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
Python程序设计入门(4)模块和包
2014/06/16 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
赡养老人协议书
2014/04/21 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
银行贷款收入证明
2014/10/17 职场文书
结婚主持人致辞
2015/07/28 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP