支持宽字符,(有w_函数)
(“(\w+)(\.|_)?(\w*)@(\w+)(\.(\w+))+”);
首先注意‘()’表示将正则表达式分成子表达式,每个‘()’之间的内容表示一个子表达式;
‘\’是一个转义字符,‘\’表示扔掉第二个‘\’的转义特性,‘\w+’表示匹配一个或多个单词,‘+’表示重复一次或者多次,因此第一个子表达式的意思就是匹配一个或者多个单词;
接着看第二个子表达式,‘|’表示选择,出现‘.’或者‘’,后面的‘?’表示该子表示出现一次或者零次,因此第二个子表示表示‘.’或‘’出现不出现都匹配。
第三个子表达式表示出现一个单词,‘*’表示任意个字符。
(\d{1,3}):(\d{1,3}):(\d{1,3}):(\d{1,3})
首先还是通过‘()’将这个串分成几个子表达式,其中\d表示匹配一个数字,{,}表示数字的个数,例如{1,3}可以理解为匹配一个小于1000的数字