一、正则表达式的() [] {}有不同的意思。
()代表的是同时匹配的字符
如:(abc|bcd|cde),表示这一段是abc、bcd、cde三者之一均可,顺序也必须一致
(abc)?,表示这一组要么一起出现,要么不出现,出现则按此组内的顺序出现
二、方括号是单个匹配,字符集/排除字符集/命名字符集
示例:
1、[0-3],表示找到这一个位置上的字符只能是0到3这四个数字,与(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符
2、[^0-3],表示找到这一个位置上的字符只能是除了0到3之外的所有字符
三、{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。
四、量词
n+ +号表示匹配任何包含至少一个 n 的字符串 var re=/\d+/ 如:abc1de234fg56
n* 匹配任何包含零个或多个 n 的字符串。 var re=/ab*/ 如:a123abb
n? 匹配任何包含零个或一个 n 的字符串 var re=/do(es)?/ 如:doAnddoes
n{X} 匹配包含 X 个 n 的序列的字符串。 var re=/[0-9]{2}/ 如:a12b34c56
n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。 var re=/[0-9]{2,3}/ 如:a12b345
n{X,} 匹配包含至少 X 个 n 的序列的字符串。 var re=/[0-9]{2,} 如:a12b345c6789
?=n 匹配任何其后紧接指定字符串 n 的字符串 var re=/a(?=12|34) 如:a12a34a67
?!n
五:^符号:
1表示匹配一个字符串的开头 var re=/1/ //表示以小写字母开头的字符串 如:a45jdkl
2如果^符号出现在[]中的第一个字符位置,表示不包含此字符串 var re=/[^a] //表示字符串中不能有a 如:rgb123
3:$符号:表示匹配一个字符串的结尾
var re=/d$/ //表示以d结尾的字符串 如:abcd
a-z ↩︎