正则对象

  • var reg = new Regexp('abc','gi')
  • var reg = /abc/ig

正则方法

  • test方法(测试某个字符串是否匹配)
var str = 'abc123';
var ismatch = /[a-z]+\d+$/.test(str);
console.log(ismatch); //true
  • exec方法(捕获字符串)
var str = 'abcd123';
var reg = /([a-z]{1})/g; //如果没有g,每次从开头匹配
var arr = reg.exec(str);
while(arr){
console.log(arr);
arr = reg.exec(str);
} 返回结果:
["a", //总体匹配的字符串
"a", //第一个分组捕获的结果
.., //第..个分组捕获的结果
index: 0 //当前匹配到的字符串所处位置
input: "abcd123" //原始字符串
] ["b", "b", index: 1, input: "abcd123"]
["c", "c", index: 2, input: "abcd123"]
["d", "d", index: 3, input: "abcd123"]

如果没有g,每次从头匹配,调用结果都一样,放到while会死循环。

如果有g,每次正则对象的lastIndex前进到当前匹配末尾。

  • compile 方法(编译正则)
var reg = /[a-z]{1}/
var str = 'abcde123';
reg.compile(reg); //接收一个正则参数,进行编译
console.log(reg.test(str));

适用于多次调用正则,提高性能。

String对象的方法

  • seach方法(返回第一次匹配结果,修饰符g无效)
var str = 'hello world!';
str.search(/o/); //输出4
  • replace方法(正则替换字符串)
var str = 'hello world! hello js';
str.replace(/hello/g,'hi'); //输出: hi world! hi js

加g表示替换所有,不加g只替换第一个

  • split方法(字符串拆分为数组)
var str = 'abc-def=ghi|jkl';
var array = str.split(/[^a-z]{1}/);
//输出 ["abc", "def", "ghi", "jkl"]
  • match方法(获取字符串)
var str = 'abc123def456hij789';
str.match(/(\d+)/);
// 输出["123", "123", index: 3, input: "abc123def456hij789"] 跟exec方法一致,并带额外属性 var str = 'abc123def456hij789';
str.match(/(\d+)/g);
//输出 ["123", "456", "789"]

全局下返回所有匹配结果,非全局下与正则对象的exec方法一致

Javascript正则对象方法与字符串正则方法总结的更多相关文章

  1. JavaScript:在JS中截取字符串的方法

    这篇主要说一说截取字符串的方法,用于帮助自己缕清方法的作用,参数的意义,返回值,是否对于原来的字符串进行了操作等. 在javascript中,常见的截取字符串的方法有slice().substring ...

  2. js正则表达式test方法、exec方法与字符串search方法区别

    1.正则表达式test方法 test() 方法用于检测一个字符串是否匹配某个模式 返回值: 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 fal ...

  3. JS基础语法---String对象下的方法(字符串的方法)

    实例方法---->必须要通过new的方式创建的对象(实例对象)来调用的方法 静态方法---->直接通过大写的构造函数的名字调用的方法(直接通过大写的对象名字调用的) 字符串的常用属性: . ...

  4. JavaScript Array() 对象:push() 和 join() 方法

    <script> var fruits = ["Banana", "Orange", "Apple", "Mango& ...

  5. JavaScript 复制对象【Object.assign方法无法实现深复制】

    在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...

  6. javaScript定义对象的方法

    转自souhu新闻http://news.sohu.com/20110215/n279335637.shtml? javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放 ...

  7. 关于使用format()方法格式化字符串,读这一篇就够了!

    从Python 2.6开始,又出现了另外一种格式化字符串的方法——format()方法.format()方法是字符串众多方法中的一个,调用这个方法时要使用点操作符(.),该方法返回一个格式化好的字符串 ...

  8. javascript的对象与字符串相互转换

    因为对象不利于网络传输,因此要转换成字符串,转换成字符串之后又要考虑怎么将这个字符串转换回对象,以便取得对象中的属性. 常用的做法是将对象转换为JSON字符串,这里的转换方法也是用的JSON官方提供的 ...

  9. js 字符串转方法,this域绑定

    闲着没事,开发一个列表页面配置的功能,其中涉及到了按钮点击事件,在页面进行编辑,保存到数据库中.写好的js脚本,function是字符串格式,所以要让生成的脚本生效,还要做一些操作. 1.首先保存在数 ...

随机推荐

  1. 0.Win8.1,Win10,Windows Server 2012 安装 Net Framework 3.5

    后期会在博客首发更新:http://dnt.dkill.net 网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/482280 ...

  2. PowerShell过滤文件中的重复内容

    Get-Content -Path E:\test11\data.txt | Sort-Object | Get-Unique 源文件: AA0001 2014-06-30 15:27:13.073 ...

  3. MVC Core 网站开发(Ninesky) 1、创建项目

    又要开一个新项目了!说来惭愧,以前的东西每次都没写完,不是不想写完,主要是我每次看到新技术出来我都想尝试一下,看到.Net Core 手又痒了,开始学MVC Core. MVC Core最吸引我的有三 ...

  4. Android注解使用之通过annotationProcessor注解生成代码实现自己的ButterKnife框架

    前言: Annotation注解在Android的开发中的使用越来越普遍,例如EventBus.ButterKnife.Dagger2等,之前使用注解的时候需要利用反射机制势必影响到运行效率及性能,直 ...

  5. android 两种实现计时器时分秒的实现,把时间放在你的手中~

    可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器.这个东西其实实现起来非常简单. 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲 ...

  6. 【深入Java虚拟机】之四:类加载机制

    类加载过程     类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.它们开始的顺序如下图所示: 其中类加载的过程包括了加载.验 ...

  7. Android 开发一定要看的15个实战项目

    前言: 虽说网上有太多的Android课程,但是大多都是视频,有Android在线开发环境的几乎没有,但是对于学习Android的人来说拥有在线的Android开发环境是非常好的,可以随时动手操作学习 ...

  8. git命令行操作

    从本地上传代码到仓库(假设已经建好仓库): 1.初始化: git init 2.将所有文件加入缓存区: git add * 3.提交当前工作空间的修改内容: git commit -m 'commit ...

  9. 软件工程(C编码实践篇)学习心得

    孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...

  10. WINDOWS系统下MYSQL安装过程中的注意事项

    1.首先MySQL的安装方式有两种:一种是MSI安装方式,很简单就像安装Windows软件一样.另外一种就是ZIP安装方式.这种相对而言比较麻烦.新手推荐MSI安装方式. 安装方式有以下两种: MSI ...