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 相关文章推荐
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
Apr 12 Javascript
JavaScript DOM 学习第二章 编辑文本
Feb 19 Javascript
给文字加上着重号的JS代码
Nov 12 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 Javascript
js select实现省市区联动选择
Apr 17 Javascript
angular+webpack2实战例子
May 23 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
Nov 19 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 Javascript
使用xampp将angular项目运行在web服务器的教程
Sep 16 Javascript
解决layui下拉框监听问题(监听不到值的变化)
Sep 28 Javascript
Bootstrap table 服务器端分页功能实现方法示例
Jun 01 Javascript
nuxt 实现在其它js文件中使用store的方式
Nov 05 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
详解Node全局变量global模块
2017/09/28 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
Python探索之自定义实现线程池
2017/10/27 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
Python面向对象之Web静态服务器
2019/09/03 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
浅析Python __name__ 是什么
2020/07/07 Python
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
思想品德自我鉴定
2013/10/12 职场文书
室内设计专业个人的自我评价
2013/12/18 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
科学育儿宣传标语
2014/10/08 职场文书
植物园观后感
2015/06/11 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
公司管理制度范本
2015/08/03 职场文书
工伤调解协议书
2016/03/21 职场文书
护理自荐信
2019/05/14 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL