• 微信号
  • 微信号
目录

javascript

您当前的位置:首页 > 我的笔记 > javascript>JS RegExp(正则表达式)对象

JS RegExp(正则表达式)对象

JavaScript 字符串是在编程中使用最多的一种数据类型,很多地方都需要对字符串进行操作,例如判断一个字符串是否为一个合法的 E-**il 地址、从字符串截取指定的部分等。

正则表达式是一种用于匹配字符串或特殊字符的一种逻辑公式,所谓逻辑公式就是由一些特定字符组合成的,用来表示某些规则的特殊字符串,可以表达对字符串数据的过滤逻辑。

在 JavaScript 中需要借助 RegExp 对象来使用正则表达式,要创建 RegExp 对象有两种方法,如下所示:

var patt = new RegExp(pattern, modifiers);

var patt = /pattern/modifiers;

参数说明如下:

\.。

使用正则表达式

JavaScript RegExp 对象中提供了一些列方法来执行正则表达式,如下表所示:

方法 描述
compile() 在 1.5 版本中已废弃,编译正则表达式
exec() 在字符串搜索匹配项,并返回一个数组,若没有匹配项则返回 null
test() 测试字符串是否与正则表达式匹配,匹配则返回 true,不匹配则返回 false
toString() 返回表示指定对象的字符串

此外 String 对象中也提供了一些方法来执行正则表达式,如下表所示:

方法 描述
search() 在字符串中搜索匹配项,并返回第一个匹配的结果,若没有找到匹配项则返回 -1
**tch() 在字符串搜索匹配项,并返回一个数组,若没有匹配项则返回 null
**tchAll() 在字符串搜索所有匹配项,并返回一个迭代器(iterator)
replace() 替换字符串中与正则表达式相匹配的部分
split() 按照正则表达式将字符串拆分为一个字符串数组

除了方法外,RegExp 对象中还提供了一些属性,如下所示:

属性 描述
constructor 返回一个函数,该函数是一个创建 RegExp 对象的原型
global 判断是否设置了修饰符 "g"
ignoreCase 判断是否设置了修饰符 "i"
lastIndex 用于规定下次匹配的起始位置
multiline 判断是否设置了修饰符 "m"
source 返回正则表达式的匹配模式

示例代码如下:

var str = "Hello World!"; var reg = /[a-g]/g; 
document.write(reg.exec(str) + "<br>"); 
// 输出:e 
document.write(reg.test(str) + "<br>"); 
// 输出:true 
document.write(reg.toString() + "<br>"); 
// 输出:/[a-g]/g 
document.write(str.search(reg) + "<br>"); 
// 输出:1 
document.write(str.**tch(reg) + "<br>"); 
// 输出:e,d 
document.write(str.**tchAll(reg) + "<br>"); 
// 输出:[object RegExp String Iterator] 
document.write(str.replace(reg, "+") + "<br>"); 
// 输出:H+llo Worl+! 
document.write(str.split(reg) + "<br>"); 
// 输出:H,llo Worl,!