正则表达式
正则表达式的作用:
匹配特殊字符或有特殊搭配原则的字符的最佳选择
转义字符"\"
var str = "aaa\"bbb"
//用反斜杠将字符串符号转化为文本形式输出
元字符
- \r(行结束)
- \n(换行)
- \t(制表符)
- \w(代表0-9A-z和_)
- \W(代表^\w)
- \d(代表0-9)
- \D(代表^\d)
- \s(可以表示空白字符 \t \n \r \v \f和空格)
- \S(表示^\s)
- \f(换页符)
- \v(垂直制表符)
- \b(表示单词边界)
- \B(表示非单词边界)
- n+(表示n可以出现0到无数次)
- n*(表示n可以出现0到正无穷次,会匹配光标)
- n?(可以匹配0-1个)
- n{X}(表示可以匹配几个一样的)
- n{X,Y}(表示可以匹配X到Y个一样的)
- ^n(必须以n开头)
- n$(必须以n结尾)
- \1(方向引用,可以匹配前一个相同的,可以\2\3)
- ?=n(正向预查,问号前面必须跟着n但是n不会被查找出来)
- ?!n(问号前面不会有n的全部匹配出来)
多行字符串vvv
字符串换行符\n
两种创建方式
直接量
var reg = /abcabcabc/;
// reg = /abc/i (忽略里面内容的大小写)
// reg = /abc/g (执行全局匹配)
// reg = /abc/m (执行多行匹配)0
// reg = /^abc/ (必须是以abc开头的)
// reg = /[0123456789]/ 或者 reg = /[0-9A-Z]/ (里面每一位数的区间数)
// reg = /[^a][^b]/ (非,第一个不能有a,第二个不能有b)
// reg = /(abc|bcd)/ (或者,里面可以有abc也可以有bcd)
//直接量,标识匹配规则是abc
var str = 'abcd';
//正则表达式的方法
reg.test(str);
//判断str里面包含有没有abc,返回true或者fasle。
reg.exec(str);
//游标,匹配reg里面的abc,如果有多个abc,第二次执行的时候游标就会到第二组abc那里
str.match(reg)
//字符串方法,把所有字符按正则表达式规则展示出来
str.search(reg)
//字符串方法,判断游标位置,没有匹配到则是-1
str.replace(reg)
//字符串方法,更改正则表达式里面的字符串
new RegExp()
var str = "abcd";
var reg = new RegExp("abc","i")
//采用new的方式创建正则表达式,括号里面第一个参数是值,第二个参数是功能