JavaScript RegExp对象提供了一些可以与字符串对象一同使用的所有的属性和方法,本文只是简单介绍RegExp对象,关于正则的更多内容还要学习正则表达式。
RegExp对象
可以直接定义字面量正则表达式和通过创建RegExp实例对象来创建正则对象,正则表达式描述了字符的模式对象,检索某个文本时,可以使用一种正则来描述要检索的内容。
语法:var patt = new RegExp(patteern,modifiers)
; var patt = /pattern/modifiers
;
var patt = new RegExp("[0-9]","g");//全局匹配0-9
var patt2 = /[0-9]/g;//与上面等效
var str = "qwerty123asd456";
console.log(str.search(patt));//6
console.log(str.match(patt2));//["1", "2", "3", "4", "5", "6"]
pattern 描述了一个表达式模型,modifiers描述检索的范围。modifiers值可能为i g和m,i执行对大小写不敏感的匹配,g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止),m执行多行匹配。
test()和exec()
正则对象的两个常用方法,test()方法搜索字符串指定的值,根据结果并返回真或假;exec() 方法检索字符串中的指定值,返回值是被找到的值,如果没有发现匹配,则返回 null。
var patt = new RegExp("hello","i");
var str = "Hello World";
console.log(patt.test(str));//true
var patt = new RegExp("hello","i");
var str = "Hello World";
console.log(patt.exec(str));//Hello
RegExp对象属性
属性 | 描述 |
---|---|
constructor | 返回RegExp 对象的原型。 |
global | 判断是否设置了 "g" 修饰符 |
ignoreCase | 判断是否设置了 "i" 修饰符 |
lastIndex | 用于规定下次匹配的起始位置 |
multiline | 判断是否设置了 "m" 修饰符 |
source | 返回正则表达式的匹配模式 |
RegExp对象方法
方法 | 描述 |
---|---|
exec() | 检索字符串中指定的值。返回找到的值,并确定其位置。 |
test() | 检索字符串中指定的值。返回 true 或 false。 |
toString() | 返回正则表达式的字符串。 |
支持正则的String对象方法
方法 | 描述 |
---|---|
search() | 检索与正则表达式相匹配的值。 |
match() | 找到一个或多个正则表达式的匹配。 |
replace() | 替换与正则表达式匹配的子串。 |
split() | 把字符串分割为字符串数组。 |
网友评论