学习正则表达式之前我们得先想几个问题, 正则是干什么的?为什么要用正则?怎么去使用正则?带着这几个问题一起来开始我们的学习之旅吧。
什么是正则表达式?
正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。它是操作字符串的,可用于所有文本搜索和文本替换的操作。
正则优点:
正则可以更快速的完成工作,使用方便,还有在捕获字符串的能力,正则也可以很好的完成工作,比如截取url的域名或者其他的内容等等。
怎么使用正则
正则使用一般有下面两种方法
1.var reg=new RegExp('规则','条件');
2.var reg=//条件;
第一种里面可以放变量,第二种不行配合正则使用的字符串方法。
语法
str.search(正则) :查找符合正则条件的字符,找到了返回下标,没找到返回-1, 区分大小写
replace()有下面三种表现形式:str.replace(把谁,替换成谁),str.replace(正则,替换成谁) , str.replace(正则,function(){})。
str.match(正则):找到了返回数组,没有找到返回null。
修饰符包括:i(执行对大小写不敏感的匹配);g(执行全局匹配);m(执行多行匹配)。
转译字符:\d(查找数字) ,\s(查找空白字符),\u(查找以十六进制数 xxxx 规定的 Unicode 字符),\w(查找单词)等。
量词: {n} 正好n个 ,{n,m} 最少n个,最多m个 {n,} 最少n个,多了不限,{0,m}最少没有,多则不限,
? 可有可无
+ 若干 至少一个多了不限
* 可以没有,有了不限
正则校验: reg.test(),方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,就返回true,否则返回false,配合^ 和 $ 使用。