基础
正则表达式由普通字符和元字符组成。普通字符就是大小写英文字母和数字,元字符是一些特殊符号。
元字符介绍
.(英文句号):匹配任何单个字符。例如正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root。
$(美元符号):匹配行结束符号。例如正则表达式weasel$ 能够匹配字符串"He's a weasel"的末尾,但是不能匹配字符串"They are a bunch of weasels."。
^:匹配行开始符号。例如正则表达式^When in能够匹配字符串"When in the course of human events"的开始,但是不能匹配"What and When in the"。
*:匹配0或者多个在它之前的那个字符。。例如正则表达式 .* 意味着能够匹配任意数量的任何字符。
\:引用符号。用来将元字符当作普通的字符来进行匹配。例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符。
[ ]:匹配括号内的任意字符。例如正则表达式r[abc]t匹配这些字符:rat、rct,单不匹配rdt
[c1-c2]:在括号中使用连字符-来指定字符的区间,例如正则表达式[0-9]可以匹配任何数字字符;还可以制定多个区间,例如正则表达式[A-Za-z]可以匹配任何大小写字母。
[^c1-c2]:“排除”,要想匹配除了指定区间之外的字符——也就是所谓的补集——在左边的括号和第一个字符之间使用^字符,例如正则表达式[^269A-Z] 将匹配除了2、6、9和所有大写字母之外的任何字符。
( ):将圆括号内匹配的字符串放置到一个组内,稍后使用,例如字符串替换方法replace(),正则执行方法exec()等等
\< \>:匹配词语符号,\< 词语开始符号,\> 词语结束符号。例如正则表达式\<the能够匹配字符串"for the wise"中的"the",但是不能匹配字符串"otherwise"中的"the"。注意:这个元字符不是所有的软件都支持的。javascript不支持
|:将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。
+:匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。
?:匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。
{m}:匹配指定数量的前一个字符
{m,n}:匹配m到n个前一个字符
常用字符序列
\d:数字
\D:非数字
\s:单个空白字符或者制表符
\S:非空白字符
\w:当个数字或者字母
\W:非数字或者字母
\r:回车
\n:换行
\t:制表符
修饰符
i:解析的时候区分字母大小写
g:开启全局匹配, 多应用于replace()方法
常用方法
test():对一个字符串测试正则表达式,返回true或者false
exec():对字符串解析并返回结果