1、概述
正则表达式是描述字符模式的对象。
正则表达式用于对字符串模式匹配以及检索替换;
2、语法
前者为模式,后者为修饰符。
var reg = new RegExp( "xyz", "i" ); //等价于 var reg = /xyz/i;
注意:当使用构造函数创建正则对象的时候,需要在元字符前面加反斜杠(\)
var reg = new RegExp("\\w+"); //等价于 var reg = /\w+/;
3、修饰符
i ---- 不区分大小写 g ---- 全局匹配 m --- 多行匹配
4、方括号
方括号用于查找某个范围内的字符。
[0-9] 查找从0到9的任意数字 [a-z] 查找从a到z的任意字符 [A-Z] 查找从A到Z的任意字符 [A-z] 查找从A到z的任意字符 [adgk] 查找给定集合内的任意字符 [^adgk] 查找非给定集合内任意字符 ( red | blue | green ) 查找任意指定的选项
5、元字符
拥有特殊含义的字符
. 任意单个字符(除换行符以外)
\w 单词字符
\W 非单词字符
\d 数字字符
\D 非数字字符
\s 空白字符
\S 非空白字符
\n 换行
\r 回车
6、量词
n+ 匹配任何包含至少一个 n 的字符串 n* 匹配任何包含零个或多个 n 的字符串 n? 匹配任何包含零个或一个 n 的字符串 n{x} 匹配包含 X 个 n 的序列的字符串。 n{x,} X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。 n{x,y} X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。 n$ 匹配任何结尾为 n 的字符串。 ^n 匹配任何结尾为 n 的字符串。 ?=n
?!n