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实现更改表格行顺序示例
Apr 30 Javascript
jQuery常用知识点总结以及平时封装常用函数
Feb 23 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 Javascript
angularjs中回车键触发某一事件的方法
Apr 24 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
Nov 21 Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
Apr 22 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 Javascript
vue.js实现照片放大功能
Jun 23 Javascript
vue 项目软键盘回车触发搜索事件
Sep 09 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
3种平台下安装php4经验点滴
2006/10/09 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
python生成日历实例解析
2014/08/21 Python
python循环监控远程端口的方法
2015/03/14 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
pygame实现飞机大战
2020/03/11 Python
Python如何将字符串转换为日期
2020/07/31 Python
详解Python yaml模块
2020/09/23 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
文秘专业毕业生就业推荐信
2013/11/08 职场文书
职务聘任书范文
2014/03/29 职场文书
校庆活动策划方案
2014/06/05 职场文书
2014年班主任工作总结
2014/11/08 职场文书
神农溪导游词
2015/02/11 职场文书
试用期辞职信范文
2015/03/02 职场文书
2016教师节问候语
2015/11/10 职场文书
《日月潭》教学反思
2016/02/20 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript