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 相关文章推荐
JS读取XML文件示例代码
Nov 15 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
Aug 18 Javascript
输入框过滤非数字的js代码
Sep 18 Javascript
JS制作手机端自适应缩放显示
Jun 11 Javascript
node.js实现登录注册页面
Apr 08 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
vue3 源码解读之 time slicing的使用方法
Oct 31 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
JS array数组检测方式解析
May 19 Javascript
vue-cli脚手架的.babelrc文件用法说明
Sep 11 Javascript
json.stringify()与json.parse()的区别以及用处
Jan 25 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 截取字符串专题集合
2010/08/19 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
python实现Flappy Bird源码
2018/12/24 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
python实现横向拼接图片
2020/03/23 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
英语专业应届生求职信范文
2013/11/15 职场文书
毕业生自我鉴定
2013/12/04 职场文书
三八节主持词
2014/03/17 职场文书
建筑工地文明标语
2014/10/09 职场文书
工作自我评价范文
2015/03/05 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS