- 匹配()
//demo
var str = "hello world"
str.replace(/(worl)(d)/,"$1 wuhuang") //hello worl wuhuang
匹配括号中的字符,在后续可以使用 1 9来代表相应位置的字符,($100也是可以的)
TIP:只有()才能使用$符。下面几种都不可以。
- 预查(?=)
//str 默认为hello world
str.replace(/hello (?=w)/,"wuhuang ") //wuhuang world
str.replace(/hello (?=o)/,"wuhuang ") //hello world
预查,顾名思义,就是预先查看(?=)中的字符是否出现,如果有,则正则成立,如果没有,则正则不成立。
- 非预查(?!)
和预查相反,即(?!)中的字符不出现时,正则成立,反之,反是。
- 前瞻(?:)
这个有点蒙,好像和()的区别在于,不能用$符。还有什么Group的区别??蒙逼- -。请各位大侠指点。