正则表达式
特殊字符
+
释义: 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
单字符簇
以下字符簇需注意它始终只匹配<span style="font-size: bold; color: orange">一个字符</span>
[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} | 所有的两个字符 |