前序:正则用来匹配一个串中是否有某种子串、将用来在一个串替换子串或者取出子串。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式
一、普通字符
1. [...] 匹配指定字符 'g ' 代表全局
例如
var regs = /[a]/g;
var str = "google is good search website";
str.match(regs);
输出: ["a"]
2.[^...] 匹配字符串中除指定字符串以外的字符串。
例如:
var regs = /[^a]/g;
var str = "google is beast search website";
str.match(regs);
输出: ["g", "o", "o", "g", "l", "e", " ", "i", "s", " ", "b", "e", "s", "t", " ", "s", "e", "r", "c", "h", " ", "w", "e", "b", "s", "i", "t", "e"]
3. [A-Z] 代表A到Z大写字符串 [a-z] 代表a~z所有26个小写字母
例如:
var regs = /[A-Za-z]/g;
var str = "GOOGLEisbeast1122";
str.match(regs);
输出:["G", "O", "O", "G", "L", "E", "i", "s", "b", "e", "a", "s", "t"]
4. \w 代表大小写26个字母0到9数字 等价于[A-Za-z0-9]
例如:
var regs = /\w/g;
var str = "GOOGLEisbeast1122";
str.match(regs);
输出:["G", "O", "O", "G", "L", "E", "i", "s", "b", "e", "a", "s", "t", "1", "1", "2", "2"]
二、限定字符
1.+ 号代表前面的字符必须至少出现一次
2. * 号代表前面的字符可以是0 次 1次 或者无数次
3. ? 号代表前面的字符可以 0次 最多一次
4. {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
5. {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'
6.{n,m} n m 均是非负整数。n <=m 至少匹配n次最多匹配m次 例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
三、特殊字符
1 $ 匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 \$。
2.() 标记一个子表达式的开始位置与结束位置。要匹配()字符本身,请是用\( 和\)。
3. * 匹配前面表达式0次或者多次。要匹配字符本身,请使用 \*。
4. + 匹配前面表达是至少一次或者多次。要匹配字符本身,请使用\+
5. ? 匹配前面表达式0次或者一次。要匹配字符本身,请使用\?
6. . 匹配任意字符除换行符以外。要匹配字符本身,请使用 \.
7. [ 表示表达式的开始。 要匹配本身, 请使用 \ [
8 { 标记限定符表达式的开始。要匹配 {,请使用 \{。
9. | 指明两项之间的一个选择。要匹配 |,请使用 \|。