JS正则表达式获取分组内容的方法详解
支持多次匹配的方式:
vartestStr="nowtest001test002";
varre=/test(\d+)/ig;
varr="";
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 返回特定对象的定义(literalrepresenting),其值可用来创建一个新的对象。重载Object.toSource方法得到的。
toString 返回特定对象的串。重载Object.toString方法得到的。
valueOf 返回特定对象的原始值。重载Object.valueOf方法得到
例子:
<scriptlanguage="JavaScript">
varmyReg=/(w+)s(w+)/;
varstr ="JohnSmith";
varnewstr=str.replace(myReg,"$2,$1");
document.write(newstr);
</script>
将输出"Smith,John"
相关文章
- 关于 SAP Commerce Cloud 构建的 Node.js 版本号问题
- js检测浏览器版本方法详解编程语言
- JS test()方法:检测一个字符串是否匹配某个正则表达式
- Linux下JS开发的新技术探索(linuxjs开发)
- JavaScript连接MySQL数据库:深入解析(js链接mysql)
- 使用JS实现Redis数据读取(js读取redis)
- 深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
- js复制功能支持forIE/FireFox/mozilla/ns
- 比较简单的一个符合web标准的JS调用flash方法
- html锁定页面(js遮罩层弹出div效果)
- js确定对象类型方法
- js获取TreeView控件选中节点的Text和Value值的方法
- JS编程小常识很有用
- js特效,页面下雪的小例子
- JS截取字符串常用方法整理及使用示例
- 多种方法实现JS动态添加事件
- raphael.js绘制中国地图地图绘制方法
- js动态拼接正则表达式的两种方法
- PHP小技巧之JS和CSS优化工具Minify的使用方法
- js实现页面跳转重定向的几种方式
- js解决select下拉选不中问题
- JS实现列表与多选框选择附预览动画
- 项目中常用的JS方法整理