正则表达式
1.规定⼀个字符串中字符出现的规律的表达式可以⽤正则表达式制定⼀种规则,并模糊匹配关键词2字符集:规定字符串中某⼀位字符也称备选字符列表语法[备选字符列表]
每个字符集只能匹配⼀个字符,且每个字符集中⾄少匹配⼀次Eg:[微wv][信x]
可以匹配到的内容:微信 微x w信 wx v信 vx;
2.1字符集简写:当备选字符集较多且连续时,可以使⽤简写:⼀位数字:[0123456789] ==>[0-9]⼀位⼩写字母:[a-z]⼀位⼤写字母:[A-z]⼀位字母:[a-zA-Z]⼀位汉字:[\一-\龥]2.2预定义字符集:\\w ⼀位字母或者[0-9a-zA-Z]\\d ⼀位数字[0-9]
\\s ⼀位空字符 ⼀切看不见的字符:空格,TAB,回车.. ⼀位任意字符
3.量词;⽤于规定字符集出现的规则,放置于字符集后⾯. 3.1 有明确边界的量词
字符集{min,max}规定字符集出现的最少次数min,和最多次数max字符集{min,}规定字符集出现的最少次数min字符集{n}规定字符集必须出现n次3.2没有明确边界的量词
字符集?可有可⽆。最多出现⼀次字符集* 可有可⽆ 出现次数不限字符集+ ⾄少出现⼀次,多了也不设限4.选择和分组
选择;或”|” 条件满⾜任何⼀个规则即可分组:(字符集){}将多个字符集组成组5.指定位置 ^ 字符串开头
例^\\d 表⽰开头的必须是⼀位数字$ 字符串结尾
例\\d$ 表⽰结尾必须是⼀位数字\\b 单词边界
例⼦\\bno\\b 匹配no这个单词,no的前后可以⽤标点或者空格以及其他字符隔开应⽤
检索关键词
1. 查找⼀个固定的关键词出现的位置 只找第⼀次出现的位置
语法:var i = str.indexOf(关键词,fromi);差找第⼀次出现的位置,省略第⼆个参数就是默认从0开始找返回值:找到返回关键词下标,未找到返回-1Var str = “work hard ” 0123456789var i = str.indexOf(“hard”);
str = \"no zuo no die No can no bibi\";//循环变量var i = -1;
// 反复:通过给变i的值,查找str中包含no关键词的位置while((i=str.indexOf(\"no\console.log('在位置'+i+\"发现敏感词\"); }
// var i = str.lastIndexOf(\"关键词\⽤法和indexOf相同,但是从后往前查找console.log(str.lastIndexOf(\"no\"));
2.判断字符串中是否包含了符合规范的敏感词语法:var i = str.search(/正则表达式/);返回值:找到返回关键词下标,未找到返回-1 eg:
3.使⽤正则表达式查找指定⼀类关键词的内容语法:var arr = str.match(/正则表达式/ig)返回值:关键词内容,未找到返回null
⽬的是⽤来查找符合正则表达式的关键词并将之作为返回值保存在⼀个数组中默认找到第⼀个就结束,可以在后⾯加g,i表⽰不区分⼤⼩写
4.既找到所有关键词的内容⼜找到每个关键词的位置
验证字符串是否符合正则表达式要求
语法: var arr = reg.exec(待检测的字符串)
返回值:本次找到的⼀个关键词及其位置,若为找打,返回nullarr [0]:关键词的内容如果正则表达式中有分组
arr [n]:返回值为正则中第n个分组匹配的内容arr[“index”]:当前关键词的位置,可以简写为arr.index
字符串切割
切割:将元字符串,按照正则表达式指定的规则切割成多个字符串语法:var substrs = str.split(/正则/);
返回值:切割后的多个⼦字符串组成的数组,结果中不再包含分隔符。
因篇幅问题不能全部显示,请点此查看更多更全内容