正则表达式根据李炎灰视频教程总结
-
创建正则表达式有两种方式
-
字面量的方式
let box = 'box'; let patten = '/box/ig' patten.test(box); // 匹配则为true否则为false
-
new的方式
let box = 'box'; New patten = ('box','ig') patten.test(box); // 匹配则为true否则为false
-
-
i和g
i代表不区分大小写进行匹配,g代表全局匹配而不是匹配第一个就停止
-
test和exct
patten.test(box); patten.exct(box); 用test匹配与否所得结果是true和false;exct匹配与否所得的结果是一个数组
-
字符串对象提供的四种方法
match // 返回pattern中的子串或null replace(pattern,replacement) // 用replacement替换pattern search(pattern) // 返回字符串中pattern开始的位置 split(pattern) // 返回字符串按指定pattern拆分的数组
-
match
let pattern = /Box/ig let str = 'this is a box!that is a box!' str.match(patern) // 返回[box,box];
-
search
let pattern = /Box/ig let str = 'this is a box!that is a box!' str. search(patern) // 由于search返回的是第一个匹配的位置,所以设置全局是没有用也没有必要的 // 若有匹配返回匹配的位置,若没有匹配则返回-1
-
replace
let pattern = /Box/ig let str = 'this is a box!that is a box!' str. replace(patern,Tom) //结果是'this is a Tom!that is a Tom!'
-
split
let pattern = /!/ig let str = 'this is a box!that is a box' str. split(patern,Tom) //结果是[this is a Tom,that is a Tom] 此方法其实和字符串的join基本相同
-
-
静态属性和示例属性
-
静态属性
input短名$_ 当前被匹配的字符串 lestMatch短名$& 最后一个匹配字符串 lastParen短名$+ 最后一对圆括号内的匹配子串 leftContext短名$` 最后一次匹配前的子串 multiline短名$* 用于指定是否所有的表达式都用于多行的布尔值 rightContext短名$` 在上次匹配之后的子串
-
input
let pattern = /box/ig let str = 'this is a box!that is a box' patten.test(str); alert(regExp.input) // 结果为'this is a box!that is a box'
-
lestMatch
let pattern = /box/ig let str = 'this is a box!that is a box' patten.test(str); alert(regExp.lestMatch) // 结果为'box'
-
-
网友评论