转义字符:
\"-----实现在双引号里再放双引号
\r-----行结束符,即回车
\t-----制表符,键盘得tab键 \n------实现换行
1、正则表达式RegExp(Regular Expression):匹配 特殊字符或有特殊搭配原则的字符 的最佳选择
2、直接量 其本身是一个对象,表达的意义是一种规则。
(1)在两个斜杠中间写规则。
- var reg=/abc/;
- var str="abcd";
- reg.test(str) ; //true 检查在字符串str中有没有符合reg规则得字符
另一种创建表示方法
- var reg=new RegExp("小狮子")
- var str="小狮子1314"
- var res=reg.test(str)
- console.log(res) //true
也可用match方法来查看
- var reg=/小狮子\./
- var str="小狮子.1314"
- var res=str.match(reg)
- console.log(res) //['小狮子.']
^开头表示开头,$结尾表示末尾
- 笔试题 去掉字符串的头尾空格
- str.tirm()
- var reg=/^\s/
- var str=" abc"
- var re=str.replace(reg,"")
- console.log("-"+re)
3、在正则表达式得双斜杠后边还可以加字母i、g、m,表达其属性。
- var reg=/a/i
- var str="bAcdefAg666"
- var res=reg.test(str)
- console.log(res) //true
-
-
- var reg=/a/ig
- var str="bAcdefAg6acbb66"
- var arr=str.match(reg)
- console.log(arr) //['A', 'A', 'a']
4、方括号
^括号中表示非的意思, |表示或的意思
- var reg=/[赵钱孙][云鹤][abc]/g;
- var str="a钱鹤b赵云cd";
- var arr=str.match(reg);
- console.log(arr) //['钱鹤b', '赵云c']
- var reg=/^[赵钱孙][云鹤][^(a-y)]/g;
- var str="钱鹤z赵云zd";
- var arr=str.match(reg);
- console.log(arr) //['钱鹤z']
- var reg=/(abc|bcd)/g;
- var str="abc";
- str.match(reg);//["abc"];//该规则既能匹配出字符串"abc"
- str="bcd";
- str.match(reg);//["bcd"];//该规则又能匹配出字符串"bcd"
- reg=/(abc|bcd)[0-9]/g; //匹配规则可以任意组合
- str="bcd2";
- str.match(reg);
5、元字符
元字符是拥有特殊含义的字符,元字符也可以组合放进中括号里去使用,一个元字符代表一位(\d|\D)
6、量词
7、正则对象方法
方法 | 描述 |
---|---|
exec | 寻找字符串中是否含有检测的字符。返回:将找到的字符按数组返回。(execute) |
test | 检测字符串中是否含有检测的字符。返回:boolean。 |
- var reg=/ab/g;
- var str="abababab";
- reg.exec(str);//["ab"],尽管具有global属性,仍然只返回一个"ab"
-
- //再继续,只会从下一个开始
- reg.exec(str);//["ab"]
- reg.exec(str);//["ab"]
- reg.exec(str);//["ab"]
- reg.exec(str);//null
- reg.exec(str);//["ab"]
- reg.exec(str);//["ab"]
8、支持正则表达式的String对象的方法
方法 | 描述 |
---|---|
search | 检索与正则表达式相匹配的值,返回匹配字符串的位置 |
match | 找到一个或多个正则表达式的匹配 |
replace | 替换与正则表达式匹配的字串 |
split | 把字符串分割为字符串数组 |
- var str="abcasdfdsgsdfg"
- var reg=/a/g
- var str2=str.replace(reg,"***")
- console.log(str2) //***bc***sdfdsgsdfg
- reg=/(\w)\1(\w)\2/g;
- str="edbaabbbbee";
- str.search(reg);
- str.search(reg);//3,与lastIndex无关,只返回第一个符合匹配规则的索引位置
-
- reg=/(\w)\1(\w)\2/g;
- str="abc";
- str.search(reg);//-1
练习题
- 去掉字符串前后空格
- var str=" hello "
- var reg=/(^\s+)|(\s+$)/g
- // var re=str.replace(reg,"")
- var re=str.trim()
- console.log("a"+re+"x")
- 重复次数
- var str="helloalbc"
- var count=0;
- var temp=0;
- while (str.indexOf("l",temp)!=-1){
- count++
- temp=str.indexOf("l",temp)+1
- }
- console.log(count)