ps:目前正在学习js,学到正则表达式这一块,感觉很有意思,所以就深入了解了一下,把一些学到的记录下来,希望大家一起成长。
**创建方式:
var patt=new RegExp(pattern,modifiers);
或更简单的方法
var patt=/pattern/modifiers;**
pattern模式描述了一个表达式模型。
修饰符(modifiers)描述了检索是否是全局,区分大小写等。
1. -表示到:
[0-9]表示数字
[a-zA-Z]表示字母
^:除了某某之外(范围广)
[0-9][^47]
两位数:第一位:所有数字
第二位:除了47所有字符
.:除了换行之外的所有字符(范围广)
2. 字符集:
\d:数字[0-9]
\s:空格或者Tab
\w:数字字母 下划线[0-9a-zA-Z_]
3. 数量范围:{}
\d{5,8}//最少五位 最多八位
\d{8}//八位数字
\d{5,}//最少五位 多了不限(只能是数组)
4. ?:有没有,最多一次{0,1}
+:最少一次,多了不限{1,}
*:有没有 多了不限{0,}
5. 另外一些要注意的地方:
i - 修饰符是用来执行不区分大小写的匹配。
g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。
查找的方式有两种:match 和exec (没找到返回null)
两者的不同之处在于:
var str =”no zuo no die”;
var key=/no/ig;
consolelog(str.match(key));//no no
console.log(key.exec(str));//no 0
*1,写法不同,如上
2,返回的值不同,match是将所有找到的值放在一个数组中,而exec则是只找一次,返回找到的第一个的值以及这个值的位置*