Java之正则表达式

来源:互联网 发布:软件开发环境 编辑:程序博客网 时间:2024/04/26 13:25

正则表达式的基本用法

1、简单介绍:

.  匹配除换行符以外的任意字符

\w  匹配字母或数字或下划线(\W匹配其它字符)

\s  匹配任意的空白符

\d  匹配数字

\b  匹配单词的开始或结束

 ^  匹配字符串的开始

 $  匹配字符串的结束

 *  重复零次或更多次

 +  重复一次或更多次

 ?  重复零次或一次

{n} 重复n次

{n,m} 重复n到m次

[ ]   中括号表示可选

(?i)表示忽略大小写


2、合并用法:


3、匹配Email邮箱格式的正则表达式(模板)

/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;

解析:

/内容/i  构成一个不区分大小写的正则表达式;   ^ 匹配开始    $  匹配结束

[a-z]  E-Mail前缀必需是一个英文字母开头

([a-z0-9]*[-_]?[a-z0-9]+)*  和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0个或多个。

* 表示0个或多个前面的字符.

[a-z0-9]*  匹配0个或多个英文字母或者数字

[-_]?  匹配0个或1“-”,因为“-”不能连续出现

[a-z0-9]+  匹配1个或多个英文字母或者数字,因为“-”不能做为结尾

@   必需有个有@

([a-z0-9]*[-_]?[a-z0-9]+)+  见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。

[\.]  将特殊字符(.)当成普通字符

[a-z]{2,3}  匹配2个至3个英文字母,一般为com或者net等.

([\.][a-z]{2})?  匹配0或者1个[\.][a-z]{2}(比如.cn等)  不知道一般.com.cn最后部份是不是都是两位的,如果不是请修改{2}为{起始字数,结束字数}


开始是准备一篇写完的,还有两道hdu的ACM题,不过分开写可以水积分,有搞头

                                                                                                                                      >-<



0 0
原创粉丝点击