JS内置对象RegExp

RegExp内置对象

1.创建形式

  1. 构造函数

var re = new RegExp('j.*t');

  1. 正则文本标记法

var re = /j.*t/

2.RegExp属性

  1. global(默认值false):是否找出所有匹配。
  2. ignoreCase(默认值false):是否忽略大小写。
  3. multiline(默认值false):是否跨行搜索。
  4. lastIndex(默认值0):搜索开始的索引。
  5. source:储存正则表达式匹配模式的字符串。

1-3属性可以分别缩写为:g,i,m。

匹配形式如下:

//构造函数
var re = new RegExp('j.*t','gmi');
//正则文本标记法
var re = /j.*t/gmi;

3.RegExp内置方法

(1) test()

接受要匹配的字符串,返回一个是否匹配到内容的布尔值。

(2) exec()

接受要匹配的字符串,返回一个数组,包含匹配到的字符串。

4.以正则表达式为参数的字符串方法

包含match( ), search( ), replace( ), split( )。

(1) match()

返回包含匹配内容的数组。

var s = new String("HelloJavaScriptWorld");
// match()
s.match(/a/); //['a']
s.match(/a/g); //['a','a']

(2) search()

返回第一个匹配内容所在的位置。

var s = new String("HelloJavaScriptWorld");
// search()
s.search(/j.*t/i); // 5

(3) replace()

将匹配到的字符串替换成指定的字符串。

var s = new String("HelloJavaScriptWorld");
//replace() 其中$&表示匹配到的字符, $1,$2表示分组
s.replace(/[A-Z]/g, "-$&"); //-Hello-Java-Script-World

回调式替换:

var str = 'backgroundColor';
function replaceCallBack(match) {
    return '-' + match.toLowerCase();
}
str.replace(/[A-Z]/g,replaceCallBack);
// 返回 'background-color'

(4) split()

根据RegExp将目标字符串分割成若干个数组元素。

var csv = 'one, two,three ,four';
csv.split(',');
// 返回["one", " two", "three ", "four"]
// 以上结果会有一些多余的空格,为了去除空格,采用以下代码
csv.split(/\s*.\s*/);
// 返回["one", "two", "three", "four"]

(5) 用字符串代替过于简单的regexp对象

"test".replace('t','r'); // "rest"
// 等价于以下代码
"test".replace(new RegExp("t"), 'r'); // "rest"
// 注意:字符串只会匹配一次
// 注意:字符串只会匹配一次
// 注意:字符串只会匹配一次
// 如果想把字符串中所有的a替换为b ==>
"Javascript".replace(/a/g, 'b');// 'Jbvbscript'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 700评论 0 0
  • 一、概述 正则表达式(regular expression)是一种表达字符串结构的方法,有点像字符串的模版,常常用...
    周花花啊阅读 603评论 0 1
  • 转自: JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路 温馨提示:文章很长...
    前端渣渣阅读 1,847评论 1 32
  • 旅行的目的不是抵达目的地,而是一场心安理得的宣泄释放。抛开生活和工作带来的种种杂质,头顶一片万里蓝,脚下...
    一马当先乎阅读 328评论 0 2