1,正则表达式的定义
正则表达式又叫规则表达式。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
2,字符组
字符组顾名思义就是表示一组字符。字符组在正则中表示的意思是“在同一个位置,可以出现的所有的字符”。其写法是在一对方括号中列出所有出现的字符。如下所示。
var reg=/[123]/;
上面代码的意思是在这个位置上可以出现1,2,3其中的任意一个。
字符组中字符出现的顺序,并不影响字符组的功能。也可以重复出现。但为了方便阅读不推荐出现重复的字符。
为了表达简便我们可以采用以下的写法。
var reg1=/[0-9]/; //代表可以出现0到9任意一个字符
var reg2=/[a-z]/; //表示可以出现a到z其中的任意的字符
var reg3=/[A-Z]/; //表示可以出现A到Z其中任意的字符
2.1 元字符转义
在字符组中有一些字符代表特定的含义。例如前面例子中的“-”就有特殊的含义。如果就想匹配“-”,就需要用到转义。可以有两种方法。
var reg=/[-12]/; //表示可以出现1,2,“-”其中的任意一个
var reg2=/[1/-2]/; //和上面表示的意思是一样的
显然第一种更加的简便。
2.2 排除型字符组
在方括号中列出希望出现的字符,这样的字符组叫做普通字符组。有些情况用普通字符组很难表示,例如希望匹配不是数字的字符,这用普通字符组就很难达到效果。这就催生出排除型字符组。
var reg=/[^0-9]/; //匹配除了0到9以外的字符
2.3 字符组简记法
对一些很常见的字符组,正则表达式提供了简记法。
/\d/ 匹配数字
/\D/ 匹配非数字
/\s/ 匹配单词字符(包含数字,字母,下划线)
/\S/ 匹配非单词字符
/\w/ 匹配空格
/\W/ 匹配非空格