标签:内置对象 nbsp dex 多个参数 com 声明 区分 匹配 个数
正则表达式在我们做写js逻辑判断的时候常常用到。和大家分享一下,有什么问题可以私密我。
首先是正则表达式的声明。
var str = ‘dKJd6DKj69ds dklj6dLL/SE659lds‘;
var reg = /d/; //这种声明方法一定要将两个“/”分开来,在两个“/”之间写的是检索的内容,类似于我们引号的写法;
var reg=new RegExp(‘d‘); //正则表达式也可以看作是一个对象;
方法的使用:
console.log(reg.test(str)); //test()方法,返回值为boolean值, “字符串”.test(reg);
console.log(reg.exec(str)); //用来检索字符串中指定的值,返回的结果如果能找到指定的值,那么结果就是我们检索的字符串,如果找不到,返回的结果为null;
console.log(str.match(reg));//match()方法,返回值为匹配的数组对象。使用typeof()检测类型为object。
//同时可以使用console.log(str.match(reg)[0])得到对应的值,可以看出匹配到的类型是数组类型。
正则表达式的类型(参数的使用)
(1)正则表达式的参数常用的有两个,分别是i和g;
i :表示的是不区分大小写的匹配;
g :表示的是全局匹配;
var reg = /d11/gi; var reg1=new RegExp(‘d‘,‘gi‘);
//多个参数一起使用,参数与参数之间是可以直接连写,不需要用其他的字符来分隔的;
(2)search()
var part = /hello/gi; var str = ‘charles,hello,hello,world!‘; console.log(str.search(part)); //search()方法:查找检索的字符串在原字符串中的位置,返回的结果是一个数值,如果存在,则返回具体的位置,如果不存在,则返回值-1;这与我们前面学的内置对象中的字符串对象的indexOf()方法一致;记住是从第0个开始算的
(3)replace()
var reg = /\d/gi; //所有数字 console.log(str.replace(reg,"#")); //替换对应规则的字符串为#
(4)[]表示在这个范围内
var reg = /[d-k]/gi; //表示字母d到k之间的字符,同时也支持数字如 [0-9] var reg = /[^d-k]/gi; //^表示不包含 var reg = /[djkp]/gi; //表示指定的字符串
(5)|表示或者的意思,不是||哦
var reg = /[d]|[k]/gi;
(6).号只能代替一个字符;
var reg = /d.jd/gi; //搜索d*jd字符串
(7)$ 表示以什么结尾
var reg = /4$/gi; //表示以4结尾的字符串
var reg = /er+/gi; //+表示r出现一次或者一次以上,想要表示[er] var reg=/er{2}/gi //表现r连续出现两次,可匹配err,errr
(8) ?
当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",‘o+?‘ 将匹配单个 "o",而 ‘o+‘ 将匹配所有 ‘o‘。
(9)\
\w表示的是查找单词字符;而\W表示的是查找非单词字符;
\d表示的是查找数字;\D表示查找非数字;
\s表示的是查找空白字符;\S表示查找非空白字符;
\b表示的是匹配单词边界;\B表示匹配非单词边界;
(10)
1、正则调试工具:
http://www1.w3cfuns.com/tools.php?mod=regex
标签:内置对象 nbsp dex 多个参数 com 声明 区分 匹配 个数
原文地址:http://www.cnblogs.com/lq625424841/p/6874912.html