正则表达式是用于匹配字符串中字符组合的模式。
创建正则表达式的两个方式:
① 使用一个正则表达式字面量
var re = /ab+c/;
正则表达式字面量为正则表达式提供了脚本加载后的编译
② 调用
RegExp
对象的构造函数var re = new RegExp("ab+c");
使用构造函数为正则表达式提供了运行时的编译
常见的特殊字符含义:
字符 含义 ^ 匹配输入的开始 $ 匹配输入的结束 * 匹配前一个表达式 0 次或多次 + 匹配前面一个表达式 1 次或者多次 ? 如果紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。例如,对 "123abc" 使用 /\d+/
将会匹配 "123",而使用/\d+?/
则只会匹配到 "1"。. (小数点)默认匹配除换行符之外的任何单个字符 x|y 匹配‘x’或者‘y’。 {n,m} n 和 m 都是整数。匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 这个值被忽略。 [xyz]
一个字符集合。匹配方括号中的任意字符 [^xyz] 它匹配任何没有包含在方括号中的字符。 \d 匹配一个数字 。
等价于[0-9]
。\D 匹配一个非数字字符 。
等价于[^0-9]
\n 匹配一个换行符 \s 匹配一个空白字符 \w 匹配一个单字字符(字母、数字或者下划线)。等价于 [A-Za-z0-9_]
。
正则表达式可以被用于
RegExp
的exec
和test
方法以及String
的match
、replace
、search
和split
方法