簡單的正則表達式例子:正則表達式
/** * @ClassName: RexTest * @Description: TODO * @author BMR * @date 2016年3月28日 上午11:09:17 */ public class RexTest { /** * 正則表達式驗證暱稱 * @param nickName * @return */ public static boolean rexCheckNickName(String nickName) { // 暱稱格式:限16個字符,支持中英文、數字、減號或下劃線 String regStr = "^[\\u4e00-\\u9fa5_a-zA-Z0-9-]{1,16}$"; return nickName.matches(regStr); } /** * 正則表達式驗證密碼 * @param input * @return */ public static boolean rexCheckPassword(String input) { // 6-20 位,字母、數字、字符 //String reg = "^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$"; String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:」「’。,、?]){6,20}$"; return input.matches(regStr); } public static void main(String[] args){ System.out.println("rexCheckPassword is: "+ rexCheckPassword("14`~!@#$%^&*(\\)+=|{}")); System.out.println("rexCheckNickName is: "+ rexCheckNickName("中英文-數字_減號或下劃線")); System.out.println("rexCheckNickName is: "+ rexCheckNickName("12文、數字、@")); }
輸出結果:工具
rexCheckPassword is: true
rexCheckNickName is: true
rexCheckNickName is: falsespa
代碼 | 說明 |
---|---|
. | 匹配除換行符之外的任意字符 |
\w | 匹配字母或數字或下劃線 |
\s | 匹配任意的空白符 |
\d | 匹配數字 |
\b | 匹配單詞的開始或結束 |
^ | 匹配字符串的開始 |
$ | 匹配字符串的結束 |
代碼/語法 | 說明 |
---|---|
* | 重複零次或更屢次 |
+ | 重複一次或更屢次 |
? | 重複零次或一次 |
{n} | 重複n次 |
{n,} | 重複n次或更屢次 |
{n,m} | 重複n到m次 |
代碼/語法 | 說明 |
---|---|
\W | 匹配任意不是字母,數字,下劃線,漢字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非數字的字符 |
\B | 匹配不是單詞開頭或結束的位置 |
[^x] | 匹配除了x之外的任意字符 |
[^aeiou] | 匹配除了aeiou這幾個字母之外的任意字符 |