🍒正则表达式概要总结 🍒
~今天来总结一下学了忘~忘了学~学学忘忘无穷尽也的正则表达式~
🍂 创建正则表示的两种方式
var reg = new RegExp('study','ig'); //构造函数。i:表示忽略大小写。g:表示全局匹配。
var reg = /study/ig; //字面量。
🍂 测试正则表达式的方法:reg.test(string)返回一个boolean;reg.exec(string)返回包含第一个匹配项信息的数组
🍂 需要记忆的元字符(口诀:三三二,三个一。共计11个元字符)
🎁 {}、[]、()
1. {n}表示花括号前面的一个(或一组)字符连续出现n次
var reg = /o{3}/;
reg.test('ooo12');//true
reg.test('oo12');//false
{m} -> 括号前的字符只能连续出现m次。
{m,} -> 括号前的字符至少连续出现m次。
{m,n} -> 括号前的字符至少连续出现m次,至多n次。
2. []表示范围
[\u4e00-\u9fa5]: 表示中文范围(\u表示unicode编码)。
[^\u4e00-\u9fa5]: 非中文(^表示取反)。
[^z-aA-Z]: 非字母。
[^0-9]: 非数字。
[^ ]: 非空格。
3.()表示组
🎁 * + ? :表示前面字符连续出现的次数
1. * -> 等同于{0,},即0到无限次。
2. + -> 等同于{1,},即1到无限次。
3. ? -> 等同于{0,1},即最多可出现一次,可以不出现。
🎁 . | \
1. .表示模糊匹配,一个点可以匹配一个任意字符。
2. |表示'或'
3. \表示转义字符,如
\d表示数字[0-9];
\D表示非数字[^0-9];
\w表示字母、数字、下划线[a-zA-Z_]
\W表示非字母、数字、下划线[^a-zA-Z_]
\s表示空白符
\S表示非空白符
字符串常用正则校验方法
🍂 replace():string.replace(reg,'aa');//将匹配项替换成aa
🍂 match()用于获取匹配数组:string.match(reg).length;//查询匹配项数量
🍂 search()查找匹配项下标:str.search(reg));//没有匹配项则返回-1
正整数 let reg = /^[0-9]\d*$/;
关于去掉字符中的空白字符: http://www.cnblogs.com/a-cat/p/8872498.html