一:创建正则有两种方式:
!:var pattern = /box/ig //第二个参数可省略
!! :var pattern = new RegExp('box','ig') //第二个参数可省略
二: 正则验证有两个方法:
!: test()
test()会根据匹配结果返回true或则false
eg:
var str = 'this is a box'
console.log(pattern.test(str)) // 返回true。
!!: exec()
该方法如果匹配到会返回一个数组,如果未匹配到返回null
eg:
console.log(pattern.exec(str))
返回值为['box'] ,这个数组还有其他属性比如index , ['box'].index=0 //也就是匹配到的字符在字符串中的开始位置
三:string 提供的四种使用正则的方法
!: match()
match与exec返回值是一样的都是数组或null
eg: 'this is box'.match(/box/) //返回['box']
!!: serch()
返回匹配的子字符串在字符串中首次出现的位置,没有匹配的返回-1
eg : 'this is box'.search(/is/) //返回2
!!!: replace(pattern,新)
新字符串替代旧字符串
eg: 'this is a box'.replace(/box/,'sea') // 结果 this is a sea
下面看一个与$相关的实例:
var str = 'google good';
var pattern = /(.*)\s(.*)/ => .*匹配多个非空字符, \s表示空格。
str.match(pattern); =>会返回一个数组
有图可知,第一:返回的数组包括完全匹配的字符串和各个分组,也就是各个()内的内容。
第二:$1代表第一个分组,$2代表第二个分组。。。
具体的可以参考:https://www.jqhtml.com/6133.html