定义一个正则表达式
- /正则表达式/修饰符
- new RegExp(‘正则表达式’,’修饰符’)
修饰符有三种
g:全局匹配
i:不区分大小写
m:多行匹配
例如:
var a= /[hello]\d/
var b=new RegExp("hello \\w{3,6}",'g' ) // 因为字符串的转义,\\代表\
对象调用RegExp中的方法
- test()
检测字符串中指定的值,返回true or false
var a= /[h|e]ello/g
console.log(a.test('helo13')) // false
- exec()
检测字符串中指定的值,匹配成功返回一个数组,匹配失败返回null。
var a= /\d/g
console.log(a.exec('eello13')) // ["1"]
- compile()
该方法用于改变RegExp,既可以改变检索模式,又可以添加or删除第二个参数。
var reg=/hello/
console.log(reg.exec('hellojs'));// ['hello']
reg.compile('Hello')
console.log(reg.exec('hellojs'));// null
reg.compile('Hello','i')
console.log(reg.exec('hellojs'));// ['hello']
标题string对象提供的使用正则表达式的方法
match()
在字符串内搜索指定的值,匹配成功后返回存放匹配结果的数组,否则返回null
var reg1=/javascript/i;
var reg2=/javascript/ig;
console.log('hello Javascript Javascript Javascript'.match(reg1)) // ['Javascript']
console.log('hello Javascript Javascript Javascript'.match(reg2)) // ['Javascript','Javascript','Javascript']
search()
在字符串内搜索指定的值,匹配成功后返回第一个匹配成功的字符串片段开始的位置,否则返回-1
search()也可以用字符串作为参数,字符串会转换成正则表达式,返回匹配成功的第一个位置。
var reg1=/javascript/i;
console.log('hello Javascript Javascript Javascript'.search(reg1)) // 6
replace()
替换和正则表达式匹配的字符串,并返回替换后的字符串。
在不设置全局变量匹配g时,只替换第一个匹配成功的字符串片段
var reg2=/javascript/ig;
console.log('hello Javascript Javascript Javascript'.replace(reg2,'js')) // hello js js js
split()
把一个字符串分割成字符串数组
var reg=/1[2,3]8/;
console.log('hello128Hi138Halo'.split(reg)) // ["hello", "Hi", "Halo"]