使用exec返回数组

var pattern=/^[a-z]+\s[0-9]{4}$/;
var str='google 2012';
alert(pattern.exec(str)); //返回一个包含字符串的数组 var pattern=/^[a-z]+/; //只匹配到字母
var str='google 2012';
alert(pattern.exec(str)); //只返回google的字符串数组 var pattern=/^([a-z]+)\s([0-9]{4})$/; //使用了分组
var str='google 2012';
var a=pattern.exec(str);
alert(a.length); //返回a的长度 3
alert(a[0]); //返回匹配到的整个字符串
alert(a[1]); //返回匹配到的第一个分组的字符串
alert(a[2]); //返回匹配到的第二个分组的字

捕获性分组和非捕获性分组

 var pattern=/(\d+)([a-z])/;  // 这个叫做捕获性分组,所有的分组都捕获返回
var str='123abc';
var a=pattern.exec(str);
alert(a[0]); //返回匹配到的整个字符串 123a
alert(a[1]); //返回匹配到的第一个分组的字符串 123
alert(a[2]); //返回匹配到的第二个分组的字符串 var pattern=/(\d+)(?:[a-z])/; // 非捕获性分组,只要在不需要捕获返回的分组加上?:
var str='123abc';
alert(pattern.exec(str));

嵌套分组

 var pattern=/(a?(b?(c?)))/;  // 嵌套分组,从外往内获取
var str='abc';
alert(pattern.exec(str));
//第一步:a[0],整个匹配到的字符串abc
//第二步:a[1],匹配第一个分组(a?(b?(c?))),abc
//第三步:a[2],匹配第二个分组(b?(c?)),bc
//第四步:a[3],匹配第三个分组(c?),

前瞻捕获

 var pattern=/goo(?=gle)/;  // goo后面必须是gle才能返回goo,这里一定要注意返回的是goo,而不是google
var str='google';
alert(pattern.exec(str));

最新文章

  1. [资源分享]yslow 与firebug 修复版本Firefox35【绿色版本下载】
  2. Life of a triangle - NVIDIA's logical pipeline
  3. codeforces 381 D Alyona and a tree(倍增)(前缀数组)
  4. 初识IStructuralEquatable接口
  5. objective-c自学总结(二)---init/set/get方法
  6. 页面动态数据的滚动效果——jquery滚动组件(vticker.js)
  7. MYSQL 查询缓存
  8. 【Oracle】number类型保留小数位
  9. 2015级C++第4周项目 函数
  10. 使用zii.widgets.CDetailView显示内容
  11. echarts常用方法(一)
  12. WARNING: Re-reading the partition table failed with error 22: Invalid argument
  13. Sequelize 连接微软云数据库 SQL Azure
  14. weixinShare.js / 极简微信分享插件
  15. sed 笔记
  16. Centos7 安装 erlang rabbitmq
  17. wcf返回值报错解析
  18. 用Java位运算实现加减乘除四则运算
  19. Term Weighting
  20. AngularJS Injector和Service的工作机制

热门文章

  1. ELK学习总结(2-5)elk的版本控制
  2. SVN (TortioseSVN) 版本控制之忽略路径(如bin、obj、gen)
  3. intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)
  4. Centos6.9minimal安装图形化界面
  5. Java面向对象之封装 入门实例(一)
  6. python虚拟环境--virtualenv
  7. Hadoop:读取hdfs上zip压缩包并解压到hdfs的实现代码
  8. poj1182-食物链-带权并查集-种类并查集
  9. IdentityServer4-介绍大纲(译文)
  10. [Nginx]-外部多端口映射Https443端口配置