Java之正則表達式

正則表達式的基本用法

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題,不過分開寫可以水積分,有搞頭

                                                                                                                                      >-<



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章