正则表达式的基本用法

正则表达式的基本用法

一:正则表达式基本语法(常见的)

字符 代表的含义
^ 表示以什么开头
$ 表示以什么结尾
* 表示零个或若干个,相当于{0,}
+ 表示至少一个或更多,相当于{1,}
? 表示零个或若一个,相当于{0,1}
| 表示或
. 表示任何字符
[] 表示某些字符允许在一个字符串中的某一特定位置出现
\d 表示匹配一个数字字符。等价于[0-9]。
\D 表示匹配一个非数字字符。等价于[^0-9]。
\f 表示匹配一个换页符。等价于\x0c和\cL。
\n 表示匹配一个换行符。等价于\x0a和\cJ。
\r 表示匹配一个回车符。等价于\x0d和\cM。
\s 表示匹配任何不可见字符,包括空格、制表符、换页符等等。
等价于[ \f\n\r\t\v]。
\S 表示匹配任何可见字符。等价于[^ \f\n\r\t\v]。
\t 表示匹配一个制表符。等价于\x09和\cI。
\v 表示匹配一个垂直制表符。等价于\x0b和\cK。
\w 匹配包括下划线的任何单词字符。
类似但不等价于“[A-Za-z0-9_]”,
这里的"单词"字符使用Unicode字符集。
\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。



案例(一些常用的):
----- ^和$的案例 -----
“^I”:表示所有以”I”开始的字符串(”I'm a cat.”,”I hava a cat.”等);
"bye$":表示所有以"bye"结尾的字符串;
"^123$":表示开始和结尾都是"123"的字符串;
"我":表示任何包含"我"的字符串。

-----  *、+和?的案例 -----
"ab*":表示一个字符串有一个a后面跟着零个或若干个b。("a", "ab", "abbb",……);
"ab+":表示一个字符串有一个a后面跟着至少一个b或者更多("ab","abb","abbb",……);
"ab?":表示一个字符串有一个a后面跟着零个或者一个b("a","ab");

----- |、.和[]的案例 -----
"hi¦ha":表示一个字符串里有"hi"或者"ha";
"(ab¦cd)ef":表示"abef"或"cdef";
"^.{3}$":表示有任意三个字符的字符串(长度为3个字符);
"^[a-zA-Z]":表示一个以字母开头的字符串;

注释:在方括号里用'^'表示不希望出现的字符,'^'应在方括号里的第一位。(如:"%[^a-zA-Z]%"表
示两个百分号中不应该出现字母)。


二:正则表达式的应用(常用的):


"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码

"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 

"^\d+$"  //非负整数(正整数 + 0) 

"^[0-9]*[1-9][0-9]*$"  //正整数 

"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"   //IP地址

^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   //MAC地址的正则表达式
^[-+]?\d+(\.\d+)?$  //值类型正则表达式




猜你喜欢

转载自blog.csdn.net/tian_tian2/article/details/78082425
今日推荐