js正则表达式学习(一)

正则表达式

特殊字符


+

释义: abc+d 加号代表了前面的字符至少出现一次 (n>0 && n = int)

案例: abcd abccd ancccd abccccccccccccd

*

释义:abc*d 代表了星号前面的字符可出现0次(即不出现),也可以出现n次 (n>=0)

案例:abcd abcccd abd abccd

?

释义: abc?de 代表了?左边的字符只能出现或不出现 (n=0 || n=1)

案例: abcde abde

.

释义: 匹配除开换行字符的\n的任意单字符

()

释义: (*) 圆括号形式代表了把其包裹成一个表达式,可以提供给后续的$符号进行使用

[

释义: [ 方括号的起始括号代表了匹配一个方括号的开始字符即[

同理 { 也同次一样

^

释义: 匹配输入字符串的开始位置,当该符号出现在方括号表达式中时,表示不接受该方括号表达式中的字符合集。若要匹配自身切记加转义符\

限定符


*

+

?

{n}

释义: n为一个非负整数,匹配其前面字符的n次

案例: o{2}此表达式可以匹配 food中的oo 但是匹配不了 Bob里面那一个o

{n,}

释义:n为一个非负整数,至少匹配n次

案例: o{2} 不能匹配 Bob 能匹配 Boob Booob (均是匹配o)

{n,m}

释义: n,m均为非负整数,相当于一个闭区间,至少匹配n次,最多匹配m次

案例: o{1,3} 将匹配Fooooood中的前三个o,将匹配food中的 所有o,匹配fod中的所有o

单字符簇


以下字符簇需注意它始终只匹配一个字符

[a-z]       //匹配所有的小写字母 
[A-Z]       //匹配所有的大写字母 
[a-zA-Z]    //匹配所有的字母 
[0-9]       //匹配所有的数字 
[0-9\.\-]   //匹配所有的数字,句号和减号 
[ \f\r\t\n] //匹配所有的白字符

以下字符簇代表了非括号里面的元素

[^a-z]          //除了小写字母以外的所有字符 
^[^0-9][0-9]$    //开头第一个字符不为数字
[^\\]            //除了(\)之外的所有字符 
[^\""]/         //除了双引号(")之外的所有字符   左边双引号应为一个

多字符簇


字符簇 描述
^[a-zA-Z_]$ 所有的字母和下划线
^[[:alpha:]]{3}$ 所有的3个字母的单词
^a$ 字母a
^a{4}$ aaaa
^a{2,4}$ aa,aaa或aaaa
^a{1,3}$ a,aa或aaa
^a{2,}$ 包含多于两个a的字符串
^a{2,} 如:aardvark和aaab,但apple不行
a{2,} 如:baad和aaa,但Nantucket不行
\t{2} 两个制表符
.{2} 所有的两个字符

你可能感兴趣的:(js正则表达式学习(一))