正则表达式基本语法
1.1正则表达式元字符的意义和用法
1. '^'与'$':分别指出一个字符串的开始和结束,例子如下:
"^cloud" 表示所有以"cloud"开头的字符串,例如"cloud is weather","cloudest"等;
"cloud$"表示所有以"cloud"结尾的字符串,例如"today is cloud","memcloud"等;
"^$"表示空行; "^cloud$"表示cloud本身;
2.'*','+'与'?'表示一个或一序列字符重复出现的次数;它们分别表示"没有一次或更多","至少一次或更多","0次或者一次",例子如下:
"ab*"表示一个字符串有一个a后面跟着零个或若干个b。("a","ab","abbbb",......);
"ab+"表示一个字符串有一个a后面跟着一个或若干个b。("ab","abb","abbbb",......);
"ab?"表示一个字符串有一个a后面跟着0个或一个b。("a","ab");
"a?b+$"表示在字符串的末尾有0个或一个a后面跟着一个或多个b;
"ab{2}"表示一个字符串有一个a后面跟着2个b("abb");
"ab{2,}"表示一个字符串有一个a后面至少跟着两个b;
"ab{3,5}"表示一个字符串有一个a后面跟着3到5个b;
3.'.'可以替代任何字符
"a.[0-9]"表示一个字符串有一个a后面跟着一个任意字符和一个数字;
"^.{3}$"表示有任意三个字符的字符串;
4.'[]'表示匹配字符集合
"[ab]"表示一个字符串有一个a或b(相当于a|b);
"[a-zA-Z]"表示一个以字母开头的字符串;
"[^0-9]"表示匹配不在0-9之内的所有字符;(注意:^在[]内不是表示字符串的开始,而是表示不匹配);
5.'\<\>'表示精确匹配
\<the\>表示匹配the这个单词,而不匹配theme,there等包含the的单词
6.'\{\}'表示前一个字符的重复,和'*'的用途类似
'a\{n\}'表示一个字符串里a出现n次;
'a\{n,m\}'表示一个字符串里a出现n-m次;
校验登录名:只能输入5-20个以字母开头、可带数字、"_" 、"."的字符串
/^[a-zA-Z]{1}[a-zA-Z0-9][_.]{4,19}$/
校验密码:只能输入6-20个字母、数字、下划线
/^(\w){6,20}$/ // \w用于匹配字母,数字或下划线字符
校验普通电话、传真号码:可以”+“或数字开头,可含有”-“和” “
/^[+]{0,1}(\d){1,3}[]?[-]?((\d)|[]){1,12})+$/ // \d用于匹配0-9的数字
校验URL
/^http[s]{0,1}:\/\/.+$/ // '\/' 表示字符”/“
校验纯中文字符
/^[\u4E00-\u9FA5]+$/
7. '\b'匹配一个单词的边界;
"ever\b"表示以ever结尾的字符串,不能匹配"foreverlove"中的ever;
'\B'匹配非单词边界;
"ever\B"可以匹配'foreverlove'中的ever,但不能匹配'forever'中的ever;
8.'\d'匹配一个数字字符 '\D'匹配一个非数字字符;
"/^1{1}(3|8){1}(5|6|8|9){1}\d{8}$/" 以135,138,139,185,186,189开头的11位手机号码;
9."\s"匹配任何空白字符 '\S'匹配任何非空白字符;
10.'\w'匹配包括下划线的任何单词字符,相当于'[a-zA-Z0-9_]' '\W'匹配任何非单词字符,等价于'[^a-zA-Z0-9_]';
"/^\w+((-\w+)|(\.\w+))*\@[a-zA-Z0-9]+((-\w+)|(\.\w+))*\.[a-zA-Z0-9]+$/" //检测邮箱的格式
11./i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) /gi(全文查找、忽略大小写) /ig(全文查找、忽略大小写)
所查阅的文献:
1.http://www.cnblogs.com/light169/archive/2006/10/18/532347.html
2.www.php100.com