正则表达式符号及相关含义
- 基本符号
. 表示任意一个字符
/s 空格字符(空格键, tab, 换行, 换页, 回车)
/S 非空格字符([^/s])
/d 一个数字,(相当于[0-9] )
/D 一个非数字的字符,(相当于[^0-9] )
/w 一个单词字符(word character) (相当于 [a-zA-Z_0-9] )
/W 一个非单词的字符,[^/w]
^ 一行的开始
$ 一行的结尾
/b 一个单词的边界
/B 一个非单词的边界
/G 前一个匹配的结束
[] 匹配方括号内的一个字符
例如:[abc] 表示字符a,b,c 中的任意一个(与a|b|c 相同)
[a-zA-Z] 表示从 a 到 z 或 A 到 Z 当中的任意一个字符
- 表示次数的符号
* 重复零次或更多次
例如:a* 匹配零个或者多个a
+ 重复一次或更多次
例如:a+ 匹配一个或者多个a
? 重复零次或一次
例如:a? 匹配零个或一个a
{n} 重复n 次
例如:a{4} 匹配4 个a
{n,} 重复n 次或更多次
例如:a{4,} 匹配至少4 个a
{n,m} 重复n 到m 次
例如:a{4,10} 匹配4~10 个a
案例详解
1. Email验证正则表达式为 : //w+@//w+//.(//w+.)*//w+
- //w : 其中/w表示任意字母、数字和下划线,相当于[a-zA-Z_0-9],因为在java中/是转义字符,所以如果只在程序中使 用/w的话,程序将不会识别,所以正确写法是//w,表示从第一个/开始转意/w
- + : 表示一个或多个/w字符
- @ : 表示仅仅只有一个@符
- (//w+.)* : 表示出现零次或者多次任意/w字符加.的组合,因为Email中可能不止有两个域名如sina.com.cn
待续...